Esempio n. 1
0
	view: (ctrl, file, {folderHash, study, filesVM}) => {
		let vm = filesVM(file.id); // vm is created by the study component, it exposes a "isOpen" and "isChanged" properties
		return m('li.file-node',
			{
				key: file.id,
				class: classNames({
					open : vm.isOpen()
				}),
				onclick: file.isDir ? () => vm.isOpen(!vm.isOpen()) : choose(file),
				oncontextmenu: fileContext(file, study),
				config: file.isDir ? uploadConfig({onchange:uploadFiles(file.path, study)}) : null
			},
			[
				m('a.wholerow', {
					unselectable:'on',
					class:classNames({
						'current': ctrl.isCurrent
					})
				}, m.trust(' ')),
				m('i.fa.fa-fw', {
					class: classNames({
						'fa-caret-right' : file.isDir && !vm.isOpen(),
						'fa-caret-down': file.isDir && vm.isOpen()
					})
				}),

				m('a', [
					m('i.fa.fa-fw.fa-file-o', {
						class: classNames({
							'fa-file-code-o': /(js)$/.test(file.type),
							'fa-file-text-o': /(jst|html|xml)$/.test(file.type),
							'fa-file-image-o': /(jpg|png|bmp)$/.test(file.type),
							'fa-file-pdf-o': /(pdf)$/.test(file.type),
							'fa-folder-o': file.isDir
						})
					}),
					m('span',{class:classNames({'font-weight-bold':file.hasChanged()})},` ${file.name}`),
					file.isDir ? folder(file.path + '/', {folderHash, study, filesVM}) : ''
				])
			]
		);
	}
Esempio n. 2
0
		let inputClasses = valid => !ctrl.submitAttempt ? '' : classNames({
			'form-control-danger': !valid,
			'form-control-success': valid
		});
Esempio n. 3
0
		let groupClasses = valid => !ctrl.submitAttempt ? '' : classNames({
			'has-danger': !valid,
			'has-success' : valid
		});