├── .editorconfig ├── .gitignore ├── .npmrc ├── CONTRIBUTING.md ├── LICENSE.md ├── Makefile ├── README.md ├── ROUTES.md ├── Shark.jpg ├── assets ├── images │ ├── alt_logo.gif │ ├── bg.png │ ├── corral-logo.svg │ ├── graph-barChart.jpg │ ├── graph-placeholder.jpg │ └── ix_logo_text.png ├── locales │ ├── en │ │ ├── help.json │ │ └── translation.json │ └── fr │ │ ├── help.json │ │ └── translation.json └── style │ └── style.css ├── blue-shark ├── .editorconfig ├── LICENSE.md ├── README.md ├── assets │ ├── fonts │ │ ├── icons │ │ │ ├── freenas.ttf │ │ │ └── freenas.woff │ │ └── lato │ │ │ ├── Lato-Light-7244318390cc4d36aac4a613ff42d308.woff2 │ │ │ ├── Lato-Light-90301aa07d780a09812229d6375c3b28.woff │ │ │ ├── Lato-LightItalic-314210a4825a7cc8ca7db893dfd9d283.woff2 │ │ │ ├── Lato-LightItalic-b55e385f24f0f9f724dac935fe292ecf.woff │ │ │ ├── Lato-Regular-27bd77b9162d388cb8d4c4217c7c5e2a.woff │ │ │ └── Lato-Regular-bd03a2cc277bbbc338d464e679fe9942.woff2 │ ├── icons │ │ ├── apple-touch-icon-120x120-precomposed.png │ │ ├── apple-touch-icon-152x152-precomposed.png │ │ ├── apple-touch-icon-76x76-precomposed.png │ │ ├── apple-touch-icon-precomposed.png │ │ └── apple-touch-icon.png │ └── style │ │ └── style.css ├── core │ └── .npmignore ├── favicon.ico ├── gulpfile.js ├── index.html ├── run-tests.html ├── test │ └── all.js └── ui │ ├── _config.css │ ├── _global.css │ ├── abstract │ └── abstract-component.js │ ├── button.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── button.reel │ ├── _button.css │ ├── button.css │ ├── button.html │ └── button.js │ ├── checkbox.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── checkbox.reel │ ├── _checkbox.css │ ├── checkbox.css │ ├── checkbox.html │ └── checkbox.js │ ├── color-palette.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── color-swatch.reel │ ├── _color-swatch.css │ ├── color-swatch.css │ ├── color-swatch.html │ └── color-swatch.js │ ├── confirmation-modal.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── confirmation-modal.reel │ ├── _confirmation-modal.css │ ├── confirmation-modal.css │ ├── confirmation-modal.html │ └── confirmation-modal.js │ ├── date.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── date.reel │ ├── _date.css │ ├── date.css │ ├── date.html │ ├── date.js │ └── day-cell.reel │ │ ├── _day-cell.css │ │ ├── day-cell.css │ │ ├── day-cell.html │ │ └── day-cell.js │ ├── datetime.reel │ ├── _datetime.css │ ├── datetime.css │ ├── datetime.html │ └── datetime.js │ ├── duration.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── duration.reel │ ├── _duration.css │ ├── duration.css │ ├── duration.html │ └── duration.js │ ├── field-checkbox.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── field-checkbox.reel │ ├── _field-checkbox.css │ ├── field-checkbox.css │ ├── field-checkbox.html │ └── field-checkbox.js │ ├── field-date.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── field-date.reel │ ├── _field-date.css │ ├── field-date.css │ ├── field-date.html │ └── field-date.js │ ├── field-datetime.reel │ ├── _field-datetime.css │ ├── field-datetime.css │ ├── field-datetime.html │ └── field-datetime.js │ ├── field-duration.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── field-duration.reel │ ├── _field-duration.css │ ├── field-duration.css │ ├── field-duration.html │ └── field-duration.js │ ├── field-file-input.reel │ ├── _field-file-input.css │ ├── field-file-input.css │ ├── field-file-input.html │ ├── field-file-input.js │ └── field-file-reader.css │ ├── field-file-reader.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── field-file-reader.reel │ ├── _field-file-reader.css │ ├── field-file-reader.css │ ├── field-file-reader.html │ └── field-file-reader.js │ ├── field-multiple-select.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── field-multiple-select.reel │ ├── _field-multiple-select.css │ ├── field-multiple-select.css │ ├── field-multiple-select.html │ └── field-multiple-select.js │ ├── field-number-unit.reel │ ├── _field-number-unit.css │ ├── field-number-unit.css │ ├── field-number-unit.html │ └── field-number-unit.js │ ├── field-password-input.reel │ ├── field-password-input.html │ └── field-password-input.js │ ├── field-password.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── field-password.reel │ ├── _field-password.css │ ├── field-password.css │ ├── field-password.html │ └── field-password.js │ ├── field-radio-group.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── field-radio-group.reel │ ├── _field-radio-group.css │ ├── field-radio-group.css │ ├── field-radio-group.html │ └── field-radio-group.js │ ├── field-scrollable-list.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── field-scrollable-list.reel │ ├── _field-scrollable-list.css │ ├── field-scrollable-list.css │ ├── field-scrollable-list.html │ └── field-scrollable-list.js │ ├── field-search-multiple.reel │ ├── field-search-multiple.css │ ├── field-search-multiple.html │ └── field-search-multiple.js │ ├── field-search.reel │ ├── field-search.css │ ├── field-search.html │ └── field-search.js │ ├── field-select-multiple.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── field-select-multiple.reel │ ├── _field-select-multiple.css │ ├── field-select-multiple.css │ ├── field-select-multiple.html │ └── field-select-multiple.js │ ├── field-select.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── field-select.reel │ ├── _field-select.css │ ├── field-select.css │ ├── field-select.html │ └── field-select.js │ ├── field-text-area.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── field-text-area.reel │ ├── _field-text-area.css │ ├── field-text-area.css │ ├── field-text-area.html │ └── field-text-area.js │ ├── field-text-input.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── field-text-input.reel │ ├── _field-text-input.css │ ├── field-text-input.css │ ├── field-text-input.html │ └── field-text-input.js │ ├── field-text.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── field-text.reel │ ├── _field-text.css │ ├── field-text.css │ ├── field-text.html │ └── field-text.js │ ├── field-time.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── field-time.reel │ ├── _field-time.css │ ├── field-time.css │ ├── field-time.html │ └── field-time.js │ ├── field-toggle-switch.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── field-toggle-switch.reel │ ├── _field-toggle-switch.css │ ├── field-toggle-switch.css │ ├── field-toggle-switch.html │ └── field-toggle-switch.js │ ├── field.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── field.reel │ ├── _field.css │ ├── field.css │ ├── field.html │ └── field.js │ ├── file-input.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── file-input.reel │ ├── _file-input.css │ ├── file-input.css │ ├── file-input.html │ └── file-input.js │ ├── file-reader.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── file-reader.reel │ ├── _file-reader.css │ ├── file-reader.css │ ├── file-reader.html │ └── file-reader.js │ ├── global.css │ ├── icons.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── icons.reel │ ├── _icons.css │ ├── icons.css │ ├── icons.html │ └── icons.js │ ├── input-search.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── input-search.reel │ ├── _input-search.css │ ├── input-search.css │ ├── input-search.html │ └── input-search.js │ ├── layouts │ ├── table-header-layout.reel │ │ ├── _table-header-layout.css │ │ ├── table-header-layout.css │ │ ├── table-header-layout.html │ │ └── table-header-layout.js │ └── table-layout.reel │ │ ├── _table-layout.css │ │ ├── table-layout.css │ │ ├── table-layout.html │ │ └── table-layout.js │ ├── loading-message.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── loading-message.reel │ ├── _loading-message.css │ ├── loading-message.css │ ├── loading-message.html │ └── loading-message.js │ ├── main.reel │ ├── _main.css │ ├── main.css │ ├── main.html │ └── main.js │ ├── modal.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── modal.reel │ ├── _modal.css │ ├── modal.css │ ├── modal.html │ └── modal.js │ ├── multiple-select-grid.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── multiple-select-grid.reel │ ├── _multiple-select-grid.css │ ├── multiple-select-grid.css │ ├── multiple-select-grid.html │ └── multiple-select-grid.js │ ├── multiple-select.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── multiple-select.reel │ ├── _multiple-select.css │ ├── multiple-select-option.reel │ │ ├── _multiple-select-option.css │ │ ├── multiple-select-option.css │ │ ├── multiple-select-option.html │ │ └── multiple-select-option.js │ ├── multiple-select-value.reel │ │ ├── _multiple-select-value.css │ │ ├── multiple-select-value.css │ │ ├── multiple-select-value.html │ │ └── multiple-select-value.js │ ├── multiple-select.css │ ├── multiple-select.html │ └── multiple-select.js │ ├── number-input.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── number-input.reel │ ├── _number-input.css │ ├── number-input.css │ ├── number-input.html │ └── number-input.js │ ├── number-unit.reel │ ├── _number-unit.css │ ├── number-unit.css │ ├── number-unit.html │ └── number-unit.js │ ├── panel.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── panel.reel │ ├── _panel.css │ ├── panel.css │ ├── panel.html │ └── panel.js │ ├── password.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── password.reel │ ├── _password.css │ ├── password.css │ ├── password.html │ └── password.js │ ├── progress.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── progress.reel │ ├── _progress.css │ ├── progress.css │ ├── progress.html │ └── progress.js │ ├── radio-button-field-group.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── radio-button-field-group.reel │ ├── _radio-button-field-group.css │ ├── radio-button-field-group.css │ ├── radio-button-field-group.html │ ├── radio-button-field-group.js │ └── radio-button-field.reel │ │ ├── _radio-button-field.css │ │ ├── radio-button-field.css │ │ ├── radio-button-field.html │ │ ├── radio-button-field.js │ │ └── radio-button.reel │ │ ├── _radio-button.css │ │ ├── radio-button.css │ │ ├── radio-button.html │ │ └── radio-button.js │ ├── scrollable-list.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── scrollable-list.reel │ ├── _scrollable-list.css │ ├── scrollable-list.css │ ├── scrollable-list.html │ └── scrollable-list.js │ ├── scrollbar.reel │ ├── _scrollbar.css │ ├── scrollbar.css │ ├── scrollbar.html │ └── scrollbar.js │ ├── scroller.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── scroller.reel │ ├── _scroller.css │ ├── scroller.css │ ├── scroller.html │ └── scroller.js │ ├── search-multiple.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── search-multiple.reel │ ├── search-multiple.css │ ├── search-multiple.html │ └── search-multiple.js │ ├── search.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── search.reel │ ├── _search.css │ ├── search.css │ ├── search.html │ └── search.js │ ├── select-filter-item.reel │ ├── _select-filter-item.css │ ├── select-filter-item.css │ ├── select-filter-item.html │ └── select-filter-item.js │ ├── select-filter-items.reel │ ├── _select-filter-items.css │ ├── select-filter-items.css │ ├── select-filter-items.html │ └── select-filter-items.js │ ├── select-filter.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── select-filter.reel │ ├── _select-filter.css │ ├── select-filter.css │ ├── select-filter.html │ └── select-filter.js │ ├── select-multiple.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── select-multiple.reel │ ├── _select-multiple.css │ ├── select-multiple.css │ ├── select-multiple.html │ └── select-multiple.js │ ├── select-search.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── select-search.reel │ ├── _select-search.css │ ├── select-search-option.reel │ │ ├── _select-search-option.css │ │ ├── select-search-option.css │ │ ├── select-search-option.html │ │ └── select-search-option.js │ ├── select-search.css │ ├── select-search.html │ └── select-search.js │ ├── select.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── select.reel │ ├── _select.css │ ├── select-options.reel │ │ ├── _select-options.css │ │ ├── select-options.css │ │ ├── select-options.html │ │ └── select-options.js │ ├── select.css │ ├── select.html │ └── select.js │ ├── sink.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── spinner.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── main.html │ │ └── main.js │ ├── spinner.reel │ ├── _spinner.css │ ├── spinner.css │ ├── spinner.html │ └── spinner.js │ ├── tables │ ├── table-editable.info │ │ └── sample │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ └── ui │ │ │ ├── main.reel │ │ │ ├── main.css │ │ │ ├── main.html │ │ │ └── main.js │ │ │ └── table-new-row.reel │ │ │ ├── table-new-row.css │ │ │ ├── table-new-row.html │ │ │ └── table-new-row.js │ ├── table-editable.reel │ │ ├── _table-editable.css │ │ ├── table-editable.css │ │ ├── table-editable.html │ │ └── table-editable.js │ ├── table-read-only.info │ │ └── sample │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ └── ui │ │ │ └── main.reel │ │ │ ├── _main.css │ │ │ ├── main.css │ │ │ ├── main.html │ │ │ └── main.js │ └── table-read-only.reel │ │ ├── table-read-only.css │ │ ├── table-read-only.html │ │ └── table-read-only.js │ ├── tabs.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── tabs.reel │ ├── _tabs.css │ ├── tabs.css │ ├── tabs.html │ └── tabs.js │ ├── text-area.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── text-area.reel │ ├── _text-area.css │ ├── text-area.css │ ├── text-area.html │ └── text-area.js │ ├── text-field.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── text-field.reel │ ├── _text-field.css │ ├── text-field.css │ ├── text-field.html │ └── text-field.js │ ├── text-input-edit.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── text-input-edit.reel │ ├── _text-input-edit.css │ ├── text-input-edit.css │ ├── text-input-edit.html │ └── text-input-edit.js │ ├── text.reel │ └── text.js │ ├── theme.css │ ├── time.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ ├── time.reel │ ├── _time.css │ ├── time-option.reel │ │ ├── _time-option.css │ │ ├── time-option.css │ │ ├── time-option.html │ │ └── time-option.js │ ├── time.css │ ├── time.html │ └── time.js │ ├── toggle-switch.info │ └── sample │ │ ├── index.html │ │ ├── package.json │ │ └── ui │ │ └── main.reel │ │ ├── _main.css │ │ ├── main.css │ │ ├── main.html │ │ └── main.js │ └── toggle-switch.reel │ ├── _toggle-switch.css │ ├── toggle-switch.css │ ├── toggle-switch.html │ └── toggle-switch.js ├── cli └── enumerations2ts.js ├── core ├── dao │ └── abstract-dao-ng.ts ├── model │ ├── custom-descriptors │ │ ├── account-category.mjson │ │ ├── account-system.mjson │ │ ├── application-context.mjson │ │ ├── calendar-customSchedule.mjson │ │ ├── calendar.mjson │ │ ├── detached-volume.mjson │ │ ├── directory-services.mjson │ │ ├── docker-container-creator.mjson │ │ ├── docker-container-logs.mjson │ │ ├── docker-container-section.mjson │ │ ├── docker-image-pull.mjson │ │ ├── encrypted-volume-actions.mjson │ │ ├── encrypted-volume-importer.mjson │ │ ├── network-overview.mjson │ │ ├── scrub.mjson │ │ ├── section-settings.mjson │ │ ├── section.mjson │ │ ├── services-category.mjson │ │ ├── system-section.mjson │ │ ├── vm-readme.mjson │ │ ├── vm-volume.mjson │ │ └── volume-importer.mjson │ ├── descriptors │ │ ├── acl-entry-flags.mjson │ │ ├── acl-entry-perms.mjson │ │ ├── acl-entry.mjson │ │ ├── alert-class.mjson │ │ ├── alert-emitter-email.mjson │ │ ├── alert-filter.mjson │ │ ├── alert.mjson │ │ ├── amazon-s3-credentials.mjson │ │ ├── backup-file.mjson │ │ ├── backup-providers.mjson │ │ ├── backup-s3.mjson │ │ ├── backup-ssh.mjson │ │ ├── backup-state.mjson │ │ ├── backup.mjson │ │ ├── boot-environment.mjson │ │ ├── calendar-task-schedule-anonymous.mjson │ │ ├── calendar-task-status.mjson │ │ ├── calendar-task.mjson │ │ ├── compress-replication-transport-option.mjson │ │ ├── compress-replication-transport-plugin.mjson │ │ ├── cpu-device.mjson │ │ ├── crypto-certificate.mjson │ │ ├── directory-status-anonymous.mjson │ │ ├── directory.mjson │ │ ├── directoryservice-config.mjson │ │ ├── disk-attach-params.mjson │ │ ├── disk-device.mjson │ │ ├── disk-metadata.mjson │ │ ├── disk-partition.mjson │ │ ├── disk-set-key-params.mjson │ │ ├── disk-status-controller-anonymous.mjson │ │ ├── disk-status-multipath-anonymous-members-anonymous.mjson │ │ ├── disk-status-multipath-anonymous.mjson │ │ ├── disk-status.mjson │ │ ├── disk.mjson │ │ ├── disks-allocation.mjson │ │ ├── docker-collection.mjson │ │ ├── docker-config.mjson │ │ ├── docker-container-bridge.mjson │ │ ├── docker-container.mjson │ │ ├── docker-host-status.mjson │ │ ├── docker-host.mjson │ │ ├── docker-hub-image.mjson │ │ ├── docker-image.mjson │ │ ├── docker-volume.mjson │ │ ├── enclosure.mjson │ │ ├── encrypt-replication-transport-option.mjson │ │ ├── encrypt-replication-transport-plugin.mjson │ │ ├── error.mjson │ │ ├── file-index.mjson │ │ ├── freeipa-directory-params.mjson │ │ ├── freenas-credentials.mjson │ │ ├── freenas-initial-credentials.mjson │ │ ├── get-stats-params.mjson │ │ ├── get-stats-result.mjson │ │ ├── group-origin-anonymous.mjson │ │ ├── group.mjson │ │ ├── importable-disk.mjson │ │ ├── ipfs-info.mjson │ │ ├── ipmi.mjson │ │ ├── kerberos-keytab-entry.mjson │ │ ├── kerberos-keytab.mjson │ │ ├── kerberos-realm.mjson │ │ ├── ldap-directory-params.mjson │ │ ├── mail-message-extra-headers-anonymous.mjson │ │ ├── mail-message.mjson │ │ ├── mail.mjson │ │ ├── neighbor-properties-anonymous.mjson │ │ ├── neighbor.mjson │ │ ├── network-config-dhcp-anonymous.mjson │ │ ├── network-config-dns-anonymous.mjson │ │ ├── network-config-gateway-anonymous.mjson │ │ ├── network-config-netwait-anonymous.mjson │ │ ├── network-config.mjson │ │ ├── network-device.mjson │ │ ├── network-host.mjson │ │ ├── network-interface-alias.mjson │ │ ├── network-interface-bridge-properties.mjson │ │ ├── network-interface-capabilities-anonymous.mjson │ │ ├── network-interface-lagg-properties.mjson │ │ ├── network-interface-status-dhcp-anonymous.mjson │ │ ├── network-interface-status.mjson │ │ ├── network-interface-vlan-properties.mjson │ │ ├── network-interface.mjson │ │ ├── network-route.mjson │ │ ├── network-status-dns-anonymous.mjson │ │ ├── network-status-gateway-anonymous.mjson │ │ ├── network-status.mjson │ │ ├── nis-directory-params.mjson │ │ ├── ntp-server.mjson │ │ ├── open-file.mjson │ │ ├── peer-status.mjson │ │ ├── peer.mjson │ │ ├── permissions.mjson │ │ ├── power-changed.mjson │ │ ├── remote-debug-status.mjson │ │ ├── replication-options.mjson │ │ ├── replication-status.mjson │ │ ├── replication-transport.mjson │ │ ├── replication.mjson │ │ ├── rsync-copy-rsync-properties-anonymous.mjson │ │ ├── rsync-copy.mjson │ │ ├── rsyncd-module.mjson │ │ ├── rusage.mjson │ │ ├── serial-port-device.mjson │ │ ├── service-afp.mjson │ │ ├── service-consul.mjson │ │ ├── service-dc.mjson │ │ ├── service-dyndns.mjson │ │ ├── service-ftp.mjson │ │ ├── service-ipfs.mjson │ │ ├── service-iscsi.mjson │ │ ├── service-lldp.mjson │ │ ├── service-nfs.mjson │ │ ├── service-openvpn.mjson │ │ ├── service-rsyncd.mjson │ │ ├── service-simulator.mjson │ │ ├── service-smartd.mjson │ │ ├── service-smb.mjson │ │ ├── service-snmp.mjson │ │ ├── service-sshd.mjson │ │ ├── service-tftpd.mjson │ │ ├── service-ups.mjson │ │ ├── service-webdav.mjson │ │ ├── service.mjson │ │ ├── session.mjson │ │ ├── share-afp.mjson │ │ ├── share-client-extra-anonymous.mjson │ │ ├── share-client.mjson │ │ ├── share-iscsi-auth.mjson │ │ ├── share-iscsi-portal.mjson │ │ ├── share-iscsi-target.mjson │ │ ├── share-iscsi-user.mjson │ │ ├── share-iscsi.mjson │ │ ├── share-nfs.mjson │ │ ├── share-smb-extra-parameters-anonymous.mjson │ │ ├── share-smb.mjson │ │ ├── share-types.mjson │ │ ├── share-webdav.mjson │ │ ├── share.mjson │ │ ├── simulator-disk.mjson │ │ ├── smart-attribute.mjson │ │ ├── smart-info-diagnostics-anonymous.mjson │ │ ├── smart-info.mjson │ │ ├── smart-test-result.mjson │ │ ├── snapshot-info.mjson │ │ ├── ssh-credentials.mjson │ │ ├── stat.mjson │ │ ├── statistic-alert.mjson │ │ ├── statistic.mjson │ │ ├── support-ticket.mjson │ │ ├── supported-smart-tests.mjson │ │ ├── swap-mirror.mjson │ │ ├── system-advanced.mjson │ │ ├── system-general.mjson │ │ ├── system-time.mjson │ │ ├── system-ui.mjson │ │ ├── task-args-anonymous.mjson │ │ ├── task-description-anonymous.mjson │ │ ├── task.mjson │ │ ├── throttle-replication-transport-option.mjson │ │ ├── throttle-replication-transport-plugin.mjson │ │ ├── tunable.mjson │ │ ├── ui-transaction.mjson │ │ ├── unix-mode-tuple.mjson │ │ ├── unix-permissions.mjson │ │ ├── update-info-notes-anonymous.mjson │ │ ├── update-info.mjson │ │ ├── update-ops.mjson │ │ ├── update-progress.mjson │ │ ├── update-train.mjson │ │ ├── update.mjson │ │ ├── usb-device.mjson │ │ ├── user-attributes-anonymous.mjson │ │ ├── user-origin-anonymous.mjson │ │ ├── user.mjson │ │ ├── vm-config-anonymous.mjson │ │ ├── vm-config-network-anonymous.mjson │ │ ├── vm-config.mjson │ │ ├── vm-datastore-capabilities.mjson │ │ ├── vm-datastore-properties-local.mjson │ │ ├── vm-datastore-properties-nfs.mjson │ │ ├── vm-datastore.mjson │ │ ├── vm-device-cdrom.mjson │ │ ├── vm-device-disk.mjson │ │ ├── vm-device-graphics.mjson │ │ ├── vm-device-nic.mjson │ │ ├── vm-device-usb-config-anonymous.mjson │ │ ├── vm-device-usb.mjson │ │ ├── vm-device-volume.mjson │ │ ├── vm-device.mjson │ │ ├── vm-guest-info-interfaces-anonymous.mjson │ │ ├── vm-guest-info.mjson │ │ ├── vm-snapshot.mjson │ │ ├── vm-status-lease.mjson │ │ ├── vm-status.mjson │ │ ├── vm-template-source.mjson │ │ ├── vm.mjson │ │ ├── vmware-credentials.mjson │ │ ├── vmware-dataset.mjson │ │ ├── vmware-datastore.mjson │ │ ├── volume-attributes-anonymous.mjson │ │ ├── volume-dataset-properties.mjson │ │ ├── volume-dataset-property-atime.mjson │ │ ├── volume-dataset-property-available.mjson │ │ ├── volume-dataset-property-casesensitivity.mjson │ │ ├── volume-dataset-property-compression.mjson │ │ ├── volume-dataset-property-compressratio.mjson │ │ ├── volume-dataset-property-dedup.mjson │ │ ├── volume-dataset-property-logicalreferenced.mjson │ │ ├── volume-dataset-property-logicalused.mjson │ │ ├── volume-dataset-property-numclones.mjson │ │ ├── volume-dataset-property-quota.mjson │ │ ├── volume-dataset-property-readonly.mjson │ │ ├── volume-dataset-property-refcompressratio.mjson │ │ ├── volume-dataset-property-referenced.mjson │ │ ├── volume-dataset-property-refquota.mjson │ │ ├── volume-dataset-property-refreservation.mjson │ │ ├── volume-dataset-property-reservation.mjson │ │ ├── volume-dataset-property-used.mjson │ │ ├── volume-dataset-property-usedbychildren.mjson │ │ ├── volume-dataset-property-usedbydataset.mjson │ │ ├── volume-dataset-property-usedbyrefreservation.mjson │ │ ├── volume-dataset-property-usedbysnapshots.mjson │ │ ├── volume-dataset-property-volblocksize.mjson │ │ ├── volume-dataset-property-volsize.mjson │ │ ├── volume-dataset-property-written.mjson │ │ ├── volume-dataset.mjson │ │ ├── volume-disk-label.mjson │ │ ├── volume-encryption.mjson │ │ ├── volume-import-params.mjson │ │ ├── volume-properties.mjson │ │ ├── volume-property-allocated.mjson │ │ ├── volume-property-autoreplace.mjson │ │ ├── volume-property-capacity.mjson │ │ ├── volume-property-comment.mjson │ │ ├── volume-property-dedupratio.mjson │ │ ├── volume-property-delegation.mjson │ │ ├── volume-property-expandsize.mjson │ │ ├── volume-property-failmode.mjson │ │ ├── volume-property-fragmentation.mjson │ │ ├── volume-property-free.mjson │ │ ├── volume-property-health.mjson │ │ ├── volume-property-leaked.mjson │ │ ├── volume-property-readonly.mjson │ │ ├── volume-property-size.mjson │ │ ├── volume-property-version.mjson │ │ ├── volume-snapshot-holds-anonymous.mjson │ │ ├── volume-snapshot-properties.mjson │ │ ├── volume-snapshot-property-clones.mjson │ │ ├── volume-snapshot-property-compressratio.mjson │ │ ├── volume-snapshot-property-creation.mjson │ │ ├── volume-snapshot-property-referenced.mjson │ │ ├── volume-snapshot-property-used.mjson │ │ ├── volume-snapshot.mjson │ │ ├── volume-vdev-recommendation.mjson │ │ ├── volume-vdev-recommendations-redundancy-anonymous.mjson │ │ ├── volume-vdev-recommendations-speed-anonymous.mjson │ │ ├── volume-vdev-recommendations-storage-anonymous.mjson │ │ ├── volume-vdev-recommendations.mjson │ │ ├── volume.mjson │ │ ├── winbind-directory-params.mjson │ │ ├── winbind-directory-status.mjson │ │ ├── zfs-dataset-properties-anonymous.mjson │ │ ├── zfs-dataset.mjson │ │ ├── zfs-pool.mjson │ │ ├── zfs-property.mjson │ │ ├── zfs-scan.mjson │ │ ├── zfs-snapshot-holds-anonymous.mjson │ │ ├── zfs-snapshot-properties-anonymous.mjson │ │ ├── zfs-snapshot.mjson │ │ ├── zfs-topology.mjson │ │ ├── zfs-vdev-extension.mjson │ │ ├── zfs-vdev-stats-anonymous.mjson │ │ └── zfs-vdev.mjson │ ├── enumerations │ │ ├── acl-entry-tag.js │ │ ├── acl-entry-type.js │ │ ├── alert-class-id.js │ │ ├── alert-severity.js │ │ ├── alert-type.js │ │ ├── backup-compression-type.js │ │ ├── compress-plugin-level.js │ │ ├── crypto-certificate-digestalgorithm.js │ │ ├── crypto-certificate-type.js │ │ ├── dataset-type.js │ │ ├── disk-acousticlevel.js │ │ ├── disk-erase-method.js │ │ ├── disk-selftest-type.js │ │ ├── disks-allocation-type.js │ │ ├── docker-host-state.js │ │ ├── docker-port-protocol.js │ │ ├── docker-volume-host-path-source.js │ │ ├── enclosure-element-status.js │ │ ├── enclosure-status.js │ │ ├── encrypt-plugin-type.js │ │ ├── ldap-directory-params-encryption.js │ │ ├── mail-encryption-type.js │ │ ├── neighbor-type.js │ │ ├── network-aggregation-protocols.js │ │ ├── network-interface-alias-type.js │ │ ├── network-interface-capabilities-items.js │ │ ├── network-interface-dhcp-state.js │ │ ├── network-interface-flags-items.js │ │ ├── network-interface-mediaopts-items.js │ │ ├── network-interface-nd6-flag-items.js │ │ ├── network-interface-status-linkstate.js │ │ ├── network-interface-type.js │ │ ├── network-lagg-port-flags-items.js │ │ ├── network-route-type.js │ │ ├── power-changed-operation.js │ │ ├── rsync-copy-rsyncdirection.js │ │ ├── rsync-copy-rsyncmode.js │ │ ├── rsyncd-module-mode.js │ │ ├── service-dyndns-provider.js │ │ ├── service-ftp-tlsoptions-items.js │ │ ├── service-ftp-tlspolicy.js │ │ ├── service-smartd-powermode.js │ │ ├── service-smb-doscharset.js │ │ ├── service-smb-loglevel.js │ │ ├── service-smb-maxprotocol.js │ │ ├── service-smb-minprotocol.js │ │ ├── service-smb-unixcharset.js │ │ ├── service-snmp-v3authtype.js │ │ ├── service-snmp-v3privacyprotocol.js │ │ ├── service-sshd-sftplogfacility.js │ │ ├── service-sshd-sftploglevel.js │ │ ├── service-state.js │ │ ├── service-ups-mode.js │ │ ├── service-ups-shutdownmode.js │ │ ├── service-webdav-authentication.js │ │ ├── service-webdav-protocol-items.js │ │ ├── share-iscsi-auth-type.js │ │ ├── share-iscsi-blocksize.js │ │ ├── share-iscsi-rpm.js │ │ ├── share-nfs-security-items.js │ │ ├── share-targettype.js │ │ ├── share-types-permtype.js │ │ ├── share-types-subtype.js │ │ ├── simulator-disk-rpm.js │ │ ├── snapshot-info-type.js │ │ ├── system-advanced-serialspeed.js │ │ ├── system-ui-webuiprotocol-items.js │ │ ├── tunable-type.js │ │ ├── update-ops-operation.js │ │ ├── update-progress-operation.js │ │ ├── vm-config-bootloader.js │ │ ├── vm-datastore-nfs-version.js │ │ ├── vm-datastore-state.js │ │ ├── vm-device-disk-mode.js │ │ ├── vm-device-disk-target-type.js │ │ ├── vm-device-graphics-resolution.js │ │ ├── vm-device-nic-device.js │ │ ├── vm-device-nic-mode.js │ │ ├── vm-device-type.js │ │ ├── vm-device-usb-device.js │ │ ├── vm-device-volume-type.js │ │ ├── vm-guest-type.js │ │ ├── vm-status-health.js │ │ ├── vm-status-state.js │ │ ├── vmware-dataset-filter-op.js │ │ ├── volume-dataset-permissionstype.js │ │ ├── volume-dataset-property-casesensitivity-value.js │ │ ├── volume-dataset-property-compression-value.js │ │ ├── volume-dataset-property-dedup-value.js │ │ ├── volume-dataset-property-volblocksize-value.js │ │ ├── volume-dataset-type.js │ │ ├── volume-property-failmode-value.js │ │ ├── volume-property-health-value.js │ │ ├── volume-property-source.js │ │ ├── volume-providerspresence.js │ │ ├── volume-status.js │ │ ├── zfs-pool-status.js │ │ ├── zfs-property-source.js │ │ └── zfs-vdev-type.js │ ├── events.mjson │ ├── model-descriptor.js │ ├── model.js │ ├── models.mjson │ ├── models │ │ ├── account-category.js │ │ ├── account-system.js │ │ ├── acl-entry-flags.js │ │ ├── acl-entry-perms.js │ │ ├── acl-entry.js │ │ ├── alert-class.js │ │ ├── alert-emitter-email.js │ │ ├── alert-filter.js │ │ ├── alert.js │ │ ├── amazon-s3-credentials.js │ │ ├── application-context.js │ │ ├── backup-file.js │ │ ├── backup-providers.js │ │ ├── backup-s3.js │ │ ├── backup-ssh.js │ │ ├── backup-state.js │ │ ├── backup.js │ │ ├── boot-environment.js │ │ ├── calendar-custom-schedule.js │ │ ├── calendar-task-schedule-anonymous.js │ │ ├── calendar-task-status.js │ │ ├── calendar-task.js │ │ ├── calendar.js │ │ ├── compress-replication-transport-option.js │ │ ├── compress-replication-transport-plugin.js │ │ ├── cpu-device.js │ │ ├── crypto-certificate.js │ │ ├── detached-volume.js │ │ ├── directory-services.js │ │ ├── directory-status-anonymous.js │ │ ├── directory.js │ │ ├── directoryservice-config.js │ │ ├── disk-attach-params.js │ │ ├── disk-device.js │ │ ├── disk-metadata.js │ │ ├── disk-partition.js │ │ ├── disk-set-key-params.js │ │ ├── disk-status-controller-anonymous.js │ │ ├── disk-status-multipath-anonymous-members-anonymous.js │ │ ├── disk-status-multipath-anonymous.js │ │ ├── disk-status.js │ │ ├── disk.js │ │ ├── disks-allocation.js │ │ ├── docker-collection.js │ │ ├── docker-config.js │ │ ├── docker-container-bridge.js │ │ ├── docker-container-creator.js │ │ ├── docker-container-logs.js │ │ ├── docker-container-section.js │ │ ├── docker-container.js │ │ ├── docker-host-status.js │ │ ├── docker-host.js │ │ ├── docker-hub-image.js │ │ ├── docker-image-pull.js │ │ ├── docker-image.js │ │ ├── docker-volume.js │ │ ├── enclosure.js │ │ ├── encrypt-replication-transport-option.js │ │ ├── encrypt-replication-transport-plugin.js │ │ ├── encrypted-volume-actions.js │ │ ├── encrypted-volume-importer.js │ │ ├── error.js │ │ ├── file-index.js │ │ ├── freeipa-directory-params.js │ │ ├── freenas-credentials.js │ │ ├── freenas-initial-credentials.js │ │ ├── get-stats-params.js │ │ ├── get-stats-result.js │ │ ├── group-origin-anonymous.js │ │ ├── group.js │ │ ├── importable-disk.js │ │ ├── ipfs-info.js │ │ ├── ipmi.js │ │ ├── kerberos-keytab-entry.js │ │ ├── kerberos-keytab.js │ │ ├── kerberos-realm.js │ │ ├── ldap-directory-params.js │ │ ├── mail-message-extra-headers-anonymous.js │ │ ├── mail-message.js │ │ ├── mail.js │ │ ├── neighbor-properties-anonymous.js │ │ ├── neighbor.js │ │ ├── network-config-dhcp-anonymous.js │ │ ├── network-config-dns-anonymous.js │ │ ├── network-config-gateway-anonymous.js │ │ ├── network-config-netwait-anonymous.js │ │ ├── network-config.js │ │ ├── network-device.js │ │ ├── network-host.js │ │ ├── network-interface-alias.js │ │ ├── network-interface-bridge-properties.js │ │ ├── network-interface-capabilities-anonymous.js │ │ ├── network-interface-lagg-properties.js │ │ ├── network-interface-status-dhcp-anonymous.js │ │ ├── network-interface-status.js │ │ ├── network-interface-vlan-properties.js │ │ ├── network-interface.js │ │ ├── network-overview.js │ │ ├── network-route.js │ │ ├── network-status-dns-anonymous.js │ │ ├── network-status-gateway-anonymous.js │ │ ├── network-status.js │ │ ├── nis-directory-params.js │ │ ├── ntp-server.js │ │ ├── open-file.js │ │ ├── peer-status.js │ │ ├── peer.js │ │ ├── permissions.js │ │ ├── power-changed.js │ │ ├── remote-debug-status.js │ │ ├── replication-options.js │ │ ├── replication-status.js │ │ ├── replication-transport.js │ │ ├── replication.js │ │ ├── rsync-copy-rsync-properties-anonymous.js │ │ ├── rsync-copy.js │ │ ├── rsyncd-module.js │ │ ├── rusage.js │ │ ├── scrub.js │ │ ├── section-settings.js │ │ ├── section.js │ │ ├── serial-port-device.js │ │ ├── service-afp.js │ │ ├── service-consul.js │ │ ├── service-dc.js │ │ ├── service-dyndns.js │ │ ├── service-ftp.js │ │ ├── service-ipfs.js │ │ ├── service-iscsi.js │ │ ├── service-lldp.js │ │ ├── service-nfs.js │ │ ├── service-openvpn.js │ │ ├── service-rsyncd.js │ │ ├── service-simulator.js │ │ ├── service-smartd.js │ │ ├── service-smb.js │ │ ├── service-snmp.js │ │ ├── service-sshd.js │ │ ├── service-tftpd.js │ │ ├── service-ups.js │ │ ├── service-webdav.js │ │ ├── service.js │ │ ├── services-category.js │ │ ├── session.js │ │ ├── share-afp.js │ │ ├── share-client-extra-anonymous.js │ │ ├── share-client.js │ │ ├── share-iscsi-auth.js │ │ ├── share-iscsi-portal.js │ │ ├── share-iscsi-target.js │ │ ├── share-iscsi-user.js │ │ ├── share-iscsi.js │ │ ├── share-nfs.js │ │ ├── share-smb-extra-parameters-anonymous.js │ │ ├── share-smb.js │ │ ├── share-types.js │ │ ├── share-webdav.js │ │ ├── share.js │ │ ├── simulator-disk.js │ │ ├── smart-attribute.js │ │ ├── smart-info-diagnostics-anonymous.js │ │ ├── smart-info.js │ │ ├── smart-test-result.js │ │ ├── snapshot-info.js │ │ ├── ssh-credentials.js │ │ ├── stat.js │ │ ├── statistic-alert.js │ │ ├── statistic.js │ │ ├── support-ticket.js │ │ ├── supported-smart-tests.js │ │ ├── swap-mirror.js │ │ ├── system-advanced.js │ │ ├── system-general.js │ │ ├── system-section.js │ │ ├── system-time.js │ │ ├── system-ui.js │ │ ├── task-args-anonymous.js │ │ ├── task-description-anonymous.js │ │ ├── task.js │ │ ├── throttle-replication-transport-option.js │ │ ├── throttle-replication-transport-plugin.js │ │ ├── tunable.js │ │ ├── ui-transaction.js │ │ ├── unix-mode-tuple.js │ │ ├── unix-permissions.js │ │ ├── update-info-notes-anonymous.js │ │ ├── update-info.js │ │ ├── update-ops.js │ │ ├── update-progress.js │ │ ├── update-train.js │ │ ├── update.js │ │ ├── usb-device.js │ │ ├── user-attributes-anonymous.js │ │ ├── user-origin-anonymous.js │ │ ├── user.js │ │ ├── vm-config-anonymous.js │ │ ├── vm-config-network-anonymous.js │ │ ├── vm-config.js │ │ ├── vm-datastore-capabilities.js │ │ ├── vm-datastore-properties-local.js │ │ ├── vm-datastore-properties-nfs.js │ │ ├── vm-datastore.js │ │ ├── vm-device-cdrom.js │ │ ├── vm-device-disk.js │ │ ├── vm-device-graphics.js │ │ ├── vm-device-nic.js │ │ ├── vm-device-usb-config-anonymous.js │ │ ├── vm-device-usb.js │ │ ├── vm-device-volume.js │ │ ├── vm-device.js │ │ ├── vm-guest-info-interfaces-anonymous.js │ │ ├── vm-guest-info.js │ │ ├── vm-readme.js │ │ ├── vm-snapshot.js │ │ ├── vm-status-lease.js │ │ ├── vm-status.js │ │ ├── vm-template-source.js │ │ ├── vm-volume.js │ │ ├── vm.js │ │ ├── vmware-credentials.js │ │ ├── vmware-dataset.js │ │ ├── vmware-datastore.js │ │ ├── volume-attributes-anonymous.js │ │ ├── volume-dataset-properties.js │ │ ├── volume-dataset-property-atime.js │ │ ├── volume-dataset-property-available.js │ │ ├── volume-dataset-property-casesensitivity.js │ │ ├── volume-dataset-property-compression.js │ │ ├── volume-dataset-property-compressratio.js │ │ ├── volume-dataset-property-dedup.js │ │ ├── volume-dataset-property-logicalreferenced.js │ │ ├── volume-dataset-property-logicalused.js │ │ ├── volume-dataset-property-numclones.js │ │ ├── volume-dataset-property-quota.js │ │ ├── volume-dataset-property-readonly.js │ │ ├── volume-dataset-property-refcompressratio.js │ │ ├── volume-dataset-property-referenced.js │ │ ├── volume-dataset-property-refquota.js │ │ ├── volume-dataset-property-refreservation.js │ │ ├── volume-dataset-property-reservation.js │ │ ├── volume-dataset-property-used.js │ │ ├── volume-dataset-property-usedbychildren.js │ │ ├── volume-dataset-property-usedbydataset.js │ │ ├── volume-dataset-property-usedbyrefreservation.js │ │ ├── volume-dataset-property-usedbysnapshots.js │ │ ├── volume-dataset-property-volblocksize.js │ │ ├── volume-dataset-property-volsize.js │ │ ├── volume-dataset-property-written.js │ │ ├── volume-dataset.js │ │ ├── volume-disk-label.js │ │ ├── volume-encryption.js │ │ ├── volume-import-params.js │ │ ├── volume-importer.js │ │ ├── volume-properties.js │ │ ├── volume-property-allocated.js │ │ ├── volume-property-autoreplace.js │ │ ├── volume-property-capacity.js │ │ ├── volume-property-comment.js │ │ ├── volume-property-dedupratio.js │ │ ├── volume-property-delegation.js │ │ ├── volume-property-expandsize.js │ │ ├── volume-property-failmode.js │ │ ├── volume-property-fragmentation.js │ │ ├── volume-property-free.js │ │ ├── volume-property-health.js │ │ ├── volume-property-leaked.js │ │ ├── volume-property-readonly.js │ │ ├── volume-property-size.js │ │ ├── volume-property-version.js │ │ ├── volume-snapshot-holds-anonymous.js │ │ ├── volume-snapshot-properties.js │ │ ├── volume-snapshot-property-clones.js │ │ ├── volume-snapshot-property-compressratio.js │ │ ├── volume-snapshot-property-creation.js │ │ ├── volume-snapshot-property-referenced.js │ │ ├── volume-snapshot-property-used.js │ │ ├── volume-snapshot.js │ │ ├── volume-vdev-recommendation.js │ │ ├── volume-vdev-recommendations-redundancy-anonymous.js │ │ ├── volume-vdev-recommendations-speed-anonymous.js │ │ ├── volume-vdev-recommendations-storage-anonymous.js │ │ ├── volume-vdev-recommendations.js │ │ ├── volume.js │ │ ├── winbind-directory-params.js │ │ ├── winbind-directory-status.js │ │ ├── zfs-dataset-properties-anonymous.js │ │ ├── zfs-dataset.js │ │ ├── zfs-pool.js │ │ ├── zfs-property.js │ │ ├── zfs-scan.js │ │ ├── zfs-snapshot-holds-anonymous.js │ │ ├── zfs-snapshot-properties-anonymous.js │ │ ├── zfs-snapshot.js │ │ ├── zfs-topology.js │ │ ├── zfs-vdev-extension.js │ │ ├── zfs-vdev-stats-anonymous.js │ │ └── zfs-vdev.js │ ├── property-type-service.js │ ├── services.js │ ├── services.mjson │ └── user-interface-descriptors │ │ ├── account-category-user-interface-descriptor.mjson │ │ ├── account-system-user-interface-descriptor.mjson │ │ ├── alert-emitter-user-interface-descriptor.mjson │ │ ├── alert-filter-user-interface-descriptor.mjson │ │ ├── calendar-custom-schedule-user-interface-descriptor.mjson │ │ ├── calendar-task-user-interface-descriptor.mjson │ │ ├── calendar-user-interface-descriptor.mjson │ │ ├── crypto-certificate-user-interface-descriptor.mjson │ │ ├── detached-volume-user-interface-descriptor.mjson │ │ ├── directory-services-user-interface-descriptor.mjson │ │ ├── directory-user-interface-descriptor.mjson │ │ ├── disk-user-interface-descriptor.mjson │ │ ├── docker-collection-user-interface-descriptor.mjson │ │ ├── docker-container-creator-user-interface-descriptor.mjson │ │ ├── docker-container-logs-user-interface-descriptor.mjson │ │ ├── docker-container-section-user-interface-descriptor.mjson │ │ ├── docker-container-user-interface-descriptor.mjson │ │ ├── docker-host-user-interface-descriptor.mjson │ │ ├── docker-image-pull-user-interface-descriptor.mjson │ │ ├── docker-image-readme-user-interface-descriptor.mjson │ │ ├── docker-image-user-interface-descriptor.mjson │ │ ├── docker-network-user-interface-descriptor.mjson │ │ ├── encrypted-volume-actions-user-interface-descriptor.mjson │ │ ├── encrypted-volume-importer-user-interface-descriptor.mjson │ │ ├── group-user-interface-descriptor.mjson │ │ ├── ipmi-user-interface-descriptor.mjson │ │ ├── kerberos-keytab-user-interface-descriptor.mjson │ │ ├── kerberos-realm-user-interface-descriptor.mjson │ │ ├── network-config-user-interface-descriptor.mjson │ │ ├── network-interface-bridge-user-interface-descriptor.mjson │ │ ├── network-interface-lagg-user-interface-descriptor.mjson │ │ ├── network-interface-user-interface-descriptor.mjson │ │ ├── network-interface-vlan-user-interface-descriptor.mjson │ │ ├── network-overview-user-interface-descriptor.mjson │ │ ├── network-route-user-interface-descriptor.mjson │ │ ├── ntp-server-user-interface-descriptor.mjson │ │ ├── peer-user-interface-descriptor.mjson │ │ ├── replication-options-user-interface-descriptor.mjson │ │ ├── replication-user-interface-descriptor.mjson │ │ ├── rsyncd-module-user-interface-descriptor.mjson │ │ ├── scrub-user-interface-descriptor.mjson │ │ ├── section-settings-user-interface-descriptor.mjson │ │ ├── section-user-interface-descriptor.mjson │ │ ├── service-user-interface-descriptor.mjson │ │ ├── services-category-user-interface-descriptor.mjson │ │ ├── services.mjson │ │ ├── share-user-interface-descriptor.mjson │ │ ├── system-general-user-interface-descriptor.mjson │ │ ├── system-section-user-interface-descriptor.mjson │ │ ├── tunable-user-interface-descriptor.mjson │ │ ├── user-user-interface-descriptor.mjson │ │ ├── vm-clone-user-interface-descriptor.mjson │ │ ├── vm-datastore-user-interface-descriptor.mjson │ │ ├── vm-device-user-interface-descriptor.mjson │ │ ├── vm-readme-user-interface-descriptor.mjson │ │ ├── vm-snapshot-user-interface-descriptor.mjson │ │ ├── vm-user-interface-descriptor.mjson │ │ ├── vm-volume-user-interface-descriptor.mjson │ │ ├── vmware-dataset-user-interface-descriptor.mjson │ │ ├── volume-dataset-user-interface-descriptor.mjson │ │ ├── volume-importer-user-interface-descriptor.mjson │ │ ├── volume-media-importer-user-interface-descriptor.mjson │ │ ├── volume-snapshot-user-interface-descriptor.mjson │ │ ├── volume-user-interface-descriptor.mjson │ │ └── zfs-topology-user-interface-descriptor.mjson └── service │ └── fake-montage-data-service.ts ├── data ├── sections-descriptors.json └── system-sections.json ├── favicon.ico ├── gulp-tasks └── test-e2e.js ├── gulpfile.js ├── index.html ├── nas_ports └── freenas │ └── freenas-10gui │ ├── Makefile │ └── pkg-descr ├── nightwatch.json ├── package.json ├── rollbar_runtime_config.js ├── serial-console-app ├── .npmignore ├── LICENSE.md ├── README.md ├── assets │ ├── icons │ │ ├── apple-touch-icon-120x120-precomposed.png │ │ ├── apple-touch-icon-152x152-precomposed.png │ │ ├── apple-touch-icon-76x76-precomposed.png │ │ ├── apple-touch-icon-precomposed.png │ │ └── apple-touch-icon.png │ └── style │ │ └── style.css ├── core │ └── backend │ │ ├── backend-bridge.js │ │ ├── handler-pool.js │ │ ├── notification-center.js │ │ ├── websocket-client.js │ │ ├── websocket-configuration.js │ │ ├── websocket-message.js │ │ └── websocket-response.js ├── favicon.ico ├── index.html ├── package.json ├── run-tests.html ├── test │ └── all.js └── ui │ ├── console.reel │ ├── _console.css │ ├── console.css │ ├── console.html │ └── console.js │ ├── main.reel │ ├── main.css │ ├── main.html │ └── main.js │ └── version.reel │ ├── version.css │ ├── version.html │ └── version.js ├── src ├── Events.ts ├── Units.ts ├── application-delegate.js ├── backend │ ├── backend-bridge.js │ ├── handler-pool.js │ ├── websocket-client.js │ ├── websocket-configuration.js │ ├── websocket-message.js │ └── websocket-response.js ├── constants.js ├── controller │ ├── tree │ │ ├── Entry.ts │ │ ├── StaticTreeController.ts │ │ ├── TreeController.ts │ │ ├── VmDatastoreTreeController.ts │ │ ├── dataset-tree-controller.js │ │ └── filesystem-tree-controller.js │ └── validation-controller.js ├── converter │ ├── dataset-to-path-converter.js │ ├── identity-converter.js │ ├── integer-converter.js │ ├── interface-alias-converter.js │ ├── ipv4-netmask-converter.js │ ├── iso8601-to-string-converter.js │ ├── load-to-string-converter.js │ ├── seconds-to-string-converter.js │ ├── select-option-converter.js │ ├── string-or-null-validation-converter.js │ ├── string-to-array-converter.js │ ├── string-to-integer-converter.js │ ├── string-to-integer-or-null-converter.js │ ├── unix-permissions-converter.js │ ├── validation-only-converter.js │ ├── validator │ │ ├── docker-container-env-variable-validator.js │ │ ├── docker-container-ports-validator.js │ │ ├── email-validator.js │ │ ├── integer-ceiling-validator.js │ │ ├── integer-floor-validator.js │ │ ├── integer-range-validator.js │ │ ├── integer-validator.js │ │ ├── ipv4-netmask-validator.js │ │ ├── ipv4-or-ipv6-with-netmask-validator.js │ │ ├── ipv4-validator.js │ │ ├── ipv4-with-netmask-validator.js │ │ ├── ipv6-validator.js │ │ ├── ipv6-with-netmask-validator.js │ │ ├── minimum-bytes-validator.js │ │ └── unix-account-id-validator.js │ └── vlan-tag-converter.js ├── core.js ├── dao │ ├── AlertEmitterEmailDao.ts │ ├── abstract-dao.ts │ ├── account-category-dao.ts │ ├── account-systems-dao.ts │ ├── alert-dao.ts │ ├── alert-emitter-dao.ts │ ├── alert-emitter-email-dao.ts │ ├── alert-emitter-push-bullet-dao.ts │ ├── alert-filter-dao.ts │ ├── alert-settings-dao.ts │ ├── amazon-s-3-credentials-dao.ts │ ├── boot-environment-dao.ts │ ├── boot-pool-dao.ts │ ├── calendar-dao.ts │ ├── calendar-task-dao.ts │ ├── compress-replication-transport-option-dao.ts │ ├── crypto-certificate-dao.ts │ ├── database-dao.ts │ ├── debug-dao.ts │ ├── detached-volume-dao.ts │ ├── directory-dao.ts │ ├── directory-services-dao.ts │ ├── directoryservice-config-dao.ts │ ├── disk-dao.ts │ ├── docker-collection-dao.ts │ ├── docker-config-dao.ts │ ├── docker-container-bridge-dao.ts │ ├── docker-container-creator-dao.ts │ ├── docker-container-dao.ts │ ├── docker-container-logs-dao.ts │ ├── docker-container-section-dao.ts │ ├── docker-host-dao.ts │ ├── docker-image-dao.ts │ ├── docker-image-pull-dao.ts │ ├── docker-image-readme-dao.ts │ ├── docker-network-dao.ts │ ├── encrypt-replication-transport-option-dao.ts │ ├── encrypted-volume-actions-dao.ts │ ├── encrypted-volume-importer-dao.ts │ ├── freenas-credentials-dao.ts │ ├── group-dao.ts │ ├── importable-disk-dao.ts │ ├── index.ts │ ├── ipmi-dao.ts │ ├── kerberos-keytab-dao.ts │ ├── kerberos-realm-dao.ts │ ├── network-config-dao.ts │ ├── network-host-dao.ts │ ├── network-interface-bridge-properties-dao.ts │ ├── network-interface-dao.ts │ ├── network-interface-lagg-properties-dao.ts │ ├── network-interface-vlan-properties-dao.ts │ ├── network-route-dao.ts │ ├── ntp-server-dao.ts │ ├── peer-dao.ts │ ├── permissions-dao.ts │ ├── replication-dao.ts │ ├── replication-options-dao.ts │ ├── rsyncd-module-dao.ts │ ├── section-dao.ts │ ├── section-settings-dao.ts │ ├── service-dao.ts │ ├── service-dc-dao.ts │ ├── service-dyndns-dao.ts │ ├── service-ups-dao.ts │ ├── services-category-dao.ts │ ├── share-dao.ts │ ├── share-iscsi-target-dao.ts │ ├── shell-dao.ts │ ├── ssh-credentials-dao.ts │ ├── support-category-dao.ts │ ├── support-ticket-dao.ts │ ├── system-advanced-dao.ts │ ├── system-dataset-dao.ts │ ├── system-device-dao.ts │ ├── system-general-dao.ts │ ├── system-info-dao.ts │ ├── system-section-dao.ts │ ├── system-time-dao.ts │ ├── system-ui-dao.ts │ ├── task-dao.ts │ ├── throttle-replication-transport-option-dao.ts │ ├── tunable-dao.ts │ ├── unix-permissions-dao.ts │ ├── update-dao.ts │ ├── user-dao.ts │ ├── vm-clone-dao.ts │ ├── vm-config-dao.ts │ ├── vm-dao.ts │ ├── vm-datastore-dao.ts │ ├── vm-device-dao.ts │ ├── vm-guest-info-dao.ts │ ├── vm-readme-dao.ts │ ├── vm-snapshot-dao.ts │ ├── vm-template-dao.ts │ ├── vm-volume-dao.ts │ ├── vmware-credentials-dao.ts │ ├── vmware-dataset-dao.ts │ ├── vmware-datastore-dao.ts │ ├── volume-dao.ts │ ├── volume-dataset-dao.ts │ ├── volume-dataset-properties-dao.ts │ ├── volume-dataset-property-atime-dao.ts │ ├── volume-dataset-property-casesensitivity-dao.ts │ ├── volume-dataset-property-compression-dao.ts │ ├── volume-dataset-property-dedup-dao.ts │ ├── volume-dataset-property-quota-dao.ts │ ├── volume-dataset-property-refquota-dao.ts │ ├── volume-dataset-property-refreservation-dao.ts │ ├── volume-dataset-property-reservation-dao.ts │ ├── volume-dataset-property-volblocksize-dao.ts │ ├── volume-importer-dao.ts │ ├── volume-media-importer-dao.ts │ ├── volume-snapshot-dao.ts │ ├── volume-vdev-recommendations-dao.ts │ ├── zfs-topology-dao.ts │ └── zfs-vdev-dao.ts ├── drag-drop │ ├── abstract-draggable-component.js │ ├── abstract-dropzone-component.js │ └── drag-drop-component-manager.js ├── error-controller.js ├── model-event-name.ts ├── model.ts ├── model │ ├── AbstractDataObject.ts │ ├── AccountCategory.ts │ ├── AccountSystem.ts │ ├── Alert.ts │ ├── AlertEmitter.ts │ ├── AlertEmitterEmail.ts │ ├── AlertEmitterPushBullet.ts │ ├── AlertFilter.ts │ ├── AlertSettings.ts │ ├── AmazonS3Credentials.ts │ ├── BootEnvironment.ts │ ├── BootPool.ts │ ├── Calendar.ts │ ├── CalendarCustomSchedule.ts │ ├── CalendarTask.ts │ ├── CompressReplicationTransportOption.ts │ ├── CryptoCertificate.ts │ ├── Database.ts │ ├── Debug.ts │ ├── DetachedVolume.ts │ ├── Directory.ts │ ├── DirectoryServices.ts │ ├── DirectoryserviceConfig.ts │ ├── Disk.ts │ ├── DiskUsage.ts │ ├── DockerCollection.ts │ ├── DockerCollectionImage.ts │ ├── DockerConfig.ts │ ├── DockerContainer.ts │ ├── DockerContainerBridge.ts │ ├── DockerContainerCreator.ts │ ├── DockerContainerLogs.ts │ ├── DockerContainerSection.ts │ ├── DockerHost.ts │ ├── DockerImage.ts │ ├── DockerImagePull.ts │ ├── DockerImageReadme.ts │ ├── DockerNetwork.ts │ ├── EncryptReplicationTransportOption.ts │ ├── EncryptedVolumeActions.ts │ ├── EncryptedVolumeImporter.ts │ ├── FreenasCredentials.ts │ ├── Group.ts │ ├── ImportableDisk.ts │ ├── Ipmi.ts │ ├── KerberosKeytab.ts │ ├── KerberosRealm.ts │ ├── LoginInfo.ts │ ├── NetworkConfig.ts │ ├── NetworkHost.ts │ ├── NetworkInterface.ts │ ├── NetworkInterfaceBridgeProperties.ts │ ├── NetworkInterfaceLaggProperties.ts │ ├── NetworkInterfaceVlanProperties.ts │ ├── NetworkRoute.ts │ ├── NtpServer.ts │ ├── Peer.ts │ ├── Permissions.ts │ ├── Replication.ts │ ├── ReplicationOptions.ts │ ├── RsyncdModule.ts │ ├── Section.ts │ ├── SectionSettings.ts │ ├── Service.ts │ ├── ServiceDc.ts │ ├── ServiceDyndns.ts │ ├── ServiceUps.ts │ ├── ServicesCategory.ts │ ├── Session.ts │ ├── Share.ts │ ├── ShareIscsiTarget.ts │ ├── SshCredentials.ts │ ├── SubmittedTask.ts │ ├── SupportCategory.ts │ ├── SupportTicket.ts │ ├── SystemAdvanced.ts │ ├── SystemGeneral.ts │ ├── SystemSection.ts │ ├── SystemTime.ts │ ├── SystemUi.ts │ ├── Task.ts │ ├── ThrottleReplicationTransportOption.ts │ ├── Tunable.ts │ ├── UnixPermissions.ts │ ├── Update.ts │ ├── User.ts │ ├── Vm.ts │ ├── VmClone.ts │ ├── VmConfig.ts │ ├── VmDatastore.ts │ ├── VmDevice.ts │ ├── VmGuestInfo.ts │ ├── VmReadme.ts │ ├── VmSnapshot.ts │ ├── VmTemplate.ts │ ├── VmVolume.ts │ ├── VmwareCredentials.ts │ ├── VmwareDataset.ts │ ├── VmwareDatastore.ts │ ├── Volume.ts │ ├── VolumeDataset.ts │ ├── VolumeDatasetProperties.ts │ ├── VolumeDatasetProperty.ts │ ├── VolumeDatasetPropertyAtime.ts │ ├── VolumeDatasetPropertyCasesensitivity.ts │ ├── VolumeDatasetPropertyCompression.ts │ ├── VolumeDatasetPropertyDedup.ts │ ├── VolumeDatasetPropertyQuota.ts │ ├── VolumeDatasetPropertyRefquota.ts │ ├── VolumeDatasetPropertyRefreservation.ts │ ├── VolumeDatasetPropertyReservation.ts │ ├── VolumeDatasetPropertyVolblocksize.ts │ ├── VolumeImporter.ts │ ├── VolumeMediaImporter.ts │ ├── VolumeSnapshot.ts │ ├── VolumeVdevRecommendations.ts │ ├── ZfsTopology.ts │ ├── ZfsVdev.ts │ └── enumerations │ │ ├── AclEntryTag.ts │ │ ├── AclEntryType.ts │ │ ├── AlertClassId.ts │ │ ├── AlertSeverity.ts │ │ ├── AlertType.ts │ │ ├── BackupCompressionType.ts │ │ ├── CompressPluginLevel.ts │ │ ├── CryptoCertificateDigestalgorithm.ts │ │ ├── CryptoCertificateType.ts │ │ ├── DatasetType.ts │ │ ├── DiskAcousticlevel.ts │ │ ├── DiskEraseMethod.ts │ │ ├── DiskSelftestType.ts │ │ ├── DisksAllocationType.ts │ │ ├── DockerHostState.ts │ │ ├── DockerPortProtocol.ts │ │ ├── DockerVolumeHostPathSource.ts │ │ ├── EnclosureElementStatus.ts │ │ ├── EnclosureStatus.ts │ │ ├── EncryptPluginType.ts │ │ ├── LdapDirectoryParamsEncryption.ts │ │ ├── MailEncryptionType.ts │ │ ├── NetworkAggregationProtocols.ts │ │ ├── NetworkInterfaceAliasType.ts │ │ ├── NetworkInterfaceCapabilitiesItems.ts │ │ ├── NetworkInterfaceDhcpState.ts │ │ ├── NetworkInterfaceFlagsItems.ts │ │ ├── NetworkInterfaceMediaoptsItems.ts │ │ ├── NetworkInterfaceNd6FlagItems.ts │ │ ├── NetworkInterfaceStatusLinkstate.ts │ │ ├── NetworkInterfaceType.ts │ │ ├── NetworkLaggPortFlagsItems.ts │ │ ├── NetworkRouteType.ts │ │ ├── PowerChangedOperation.ts │ │ ├── RsyncCopyRsyncdirection.ts │ │ ├── RsyncCopyRsyncmode.ts │ │ ├── RsyncdModuleMode.ts │ │ ├── ServiceDyndnsProvider.ts │ │ ├── ServiceFtpTlsoptionsItems.ts │ │ ├── ServiceFtpTlspolicy.ts │ │ ├── ServiceSmbDoscharset.ts │ │ ├── ServiceSmbLoglevel.ts │ │ ├── ServiceSmbMaxprotocol.ts │ │ ├── ServiceSmbMinprotocol.ts │ │ ├── ServiceSmbUnixcharset.ts │ │ ├── ServiceSnmpV3authtype.ts │ │ ├── ServiceSnmpV3privacyprotocol.ts │ │ ├── ServiceSshdSftplogfacility.ts │ │ ├── ServiceSshdSftploglevel.ts │ │ ├── ServiceState.ts │ │ ├── ServiceUpsMode.ts │ │ ├── ServiceUpsShutdownmode.ts │ │ ├── ServiceWebdavAuthentication.ts │ │ ├── ServiceWebdavProtocolItems.ts │ │ ├── ShareIscsiAuthType.ts │ │ ├── ShareIscsiBlocksize.ts │ │ ├── ShareIscsiRpm.ts │ │ ├── ShareNfsSecurityItems.ts │ │ ├── ShareTargettype.ts │ │ ├── ShareTypesPermtype.ts │ │ ├── ShareTypesSubtype.ts │ │ ├── SimulatorDiskRpm.ts │ │ ├── SnapshotInfoType.ts │ │ ├── SystemAdvancedSerialspeed.ts │ │ ├── SystemUiWebuiprotocolItems.ts │ │ ├── TunableType.ts │ │ ├── UpdateOpsOperation.ts │ │ ├── UpdateProgressOperation.ts │ │ ├── VmConfigBootloader.ts │ │ ├── VmDatastoreNfsVersion.ts │ │ ├── VmDatastorePathType.ts │ │ ├── VmDatastoreState.ts │ │ ├── VmDeviceDiskMode.ts │ │ ├── VmDeviceDiskTargetType.ts │ │ ├── VmDeviceGraphicsResolution.ts │ │ ├── VmDeviceNicDevice.ts │ │ ├── VmDeviceNicMode.ts │ │ ├── VmDeviceType.ts │ │ ├── VmDeviceUsbDevice.ts │ │ ├── VmDeviceVolumeType.ts │ │ ├── VmGuestType.ts │ │ ├── VmStatusHealth.ts │ │ ├── VmStatusState.ts │ │ ├── VmwareDatasetFilterOp.ts │ │ ├── VolumeDatasetPermissionsType.ts │ │ ├── VolumeDatasetPropertycasesensitivityValue.ts │ │ ├── VolumeDatasetPropertycompressionValue.ts │ │ ├── VolumeDatasetPropertydedupValue.ts │ │ ├── VolumeDatasetPropertyvolblocksizeValue.ts │ │ ├── VolumeDatasetType.ts │ │ ├── VolumePropertySource.ts │ │ ├── VolumePropertyfailmodeValue.ts │ │ ├── VolumePropertyhealthValue.ts │ │ ├── VolumeProvidersPresence.ts │ │ ├── VolumeStatus.ts │ │ ├── WinbindDirectoryParamsSaslWrapping.ts │ │ ├── ZfsPoolStatus.ts │ │ ├── ZfsPropertySource.ts │ │ └── ZfsVdevType.ts ├── reducers │ ├── delete-object.ts │ ├── delete-overlay.ts │ ├── import-objects.ts │ ├── initialize.ts │ ├── main.ts │ ├── rename-object.ts │ ├── save-object.ts │ ├── save-overlay.ts │ └── save-stream.ts ├── repository │ ├── NetworkInterfaceRepository.ts │ ├── ShareIscsiTargetRepository.ts │ ├── UserRepository.ts │ ├── VmDatastoreRepository.ts │ ├── VmSnapshotRepository.ts │ ├── abstract-model-repository.ts │ ├── abstract-repository.ts │ ├── account-repository.ts │ ├── alert-emitter-push-bullet-repository.ts │ ├── alert-emitter-repository.ts │ ├── alert-filter-repository.ts │ ├── alert-repository.ts │ ├── boot-pool-repository.ts │ ├── calendar-repository.ts │ ├── crypto-certificate-repository.ts │ ├── data-store.ts │ ├── disk-repository.ts │ ├── docker-collection-repository.ts │ ├── docker-config-repository.ts │ ├── docker-container-bridge-repository.ts │ ├── docker-container-logs-repository.ts │ ├── docker-container-repository.ts │ ├── docker-host-repository.ts │ ├── docker-image-readme-repository.ts │ ├── docker-image-repository.ts │ ├── docker-network-repository.ts │ ├── index.ts │ ├── kerberos-repository.ts │ ├── mail-repository.ts │ ├── network-repository.ts │ ├── ntp-server-repository.ts │ ├── peer-repository.ts │ ├── replication-repository.ts │ ├── section-repository.ts │ ├── service-repository.ts │ ├── share-repository.ts │ ├── shell-repository.ts │ ├── system-general-repository.ts │ ├── system-repository.ts │ ├── task-repository.ts │ ├── tunable-repository.ts │ ├── update-repository.ts │ ├── vm-repository.ts │ ├── vmware-repository.ts │ └── volume-repository.ts ├── route │ ├── abstract-route.ts │ ├── accounts.ts │ ├── calendar.ts │ ├── dataset.ts │ ├── docker.ts │ ├── network.ts │ ├── peering.ts │ ├── replication.ts │ ├── section.ts │ ├── services.ts │ ├── share.ts │ ├── snapshot.ts │ ├── system.ts │ ├── vms.ts │ └── volume.ts ├── service │ ├── SessionService.ts │ ├── account-service.ts │ ├── alert-service.js │ ├── application-context-service.js │ ├── boot-environment-service.js │ ├── bytes-service.js │ ├── calendar-service.js │ ├── console-service.js │ ├── dashboard-service.ts │ ├── data-object-change-service.ts │ ├── data-processor │ │ ├── cleaner.ts │ │ ├── data-processor.ts │ │ ├── diff.ts │ │ ├── methodCleaner.ts │ │ └── null.ts │ ├── datastore-service.ts │ ├── disk-usage-service.ts │ ├── event-dispatcher-service.ts │ ├── fake-montage-data-service.ts │ ├── filesystem-service.js │ ├── freenas-service.js │ ├── mail-service.js │ ├── middleware-client.ts │ ├── model-descriptor-service.ts │ ├── ntp-server-service.js │ ├── peering-service.js │ ├── power-management-service.ts │ ├── replication-service.ts │ ├── routing-service.ts │ ├── rsyncd-module-service.js │ ├── section │ │ ├── abstract-section-service-ng.ts │ │ ├── abstract-section-service.js │ │ ├── accounts-section-service.ts │ │ ├── calendar-section-service.ts │ │ ├── container-section-service.js │ │ ├── network-section-service.ts │ │ ├── peering-section-service.ts │ │ ├── service-section-service.ts │ │ ├── storage-section-service.ts │ │ ├── system-section-service.ts │ │ ├── vms-section-service.js │ │ └── wizard-section-service.js │ ├── share-service.js │ ├── statistics-service.js │ ├── storage-service.js │ ├── support-service.js │ ├── system-info-service.js │ ├── system-service.ts │ ├── task-service.ts │ ├── topology-service.ts │ ├── update-service.ts │ ├── validation-service.js │ ├── virtual-machine-service.js │ └── widget-service.js ├── systemjs_config.js └── translator.js ├── tests └── e2e │ ├── commands │ ├── login.js │ └── press.js │ ├── globals.js │ ├── pages │ ├── accounts.js │ ├── containers.js │ ├── storage.js │ └── storage │ │ └── volume.js │ └── tests │ ├── accounts │ ├── 00_login.js │ ├── 00_section.js │ ├── 01_users.js │ ├── 02_groups.js │ ├── 03_system.js │ ├── 04_directory.js │ ├── 05_kerberos.js │ ├── 99_end.js │ └── index.js │ ├── calendar │ ├── 00_login.js │ ├── 00_section.js │ ├── 01_scrub.js │ ├── 99_end.js │ └── index.js │ ├── console │ ├── 00_login.js │ ├── 00_section.js │ ├── 99_end.js │ └── index.js │ ├── docker │ ├── 00_login.js │ ├── 00_section.js │ ├── 01_containers.js │ ├── 02_docker_hosts.js │ ├── 03_images.js │ ├── 04_collections.js │ ├── 05_settings.js │ ├── 99_end.js │ └── index.js │ ├── index.js │ ├── login │ └── index.js │ ├── network │ ├── 00_login.js │ ├── 00_section.js │ ├── 01_interface.js │ ├── 02_create_interface.js │ ├── 03_ipmi.js │ ├── 04_settings.js │ ├── 99_end.js │ └── index.js │ ├── peering │ ├── 00_login.js │ ├── 00_section.js │ ├── 01_peer.js │ ├── 99_end.js │ └── index.js │ ├── services │ ├── 00_login.js │ ├── 00_section.js │ ├── 01_sharing.js │ ├── 02_management.js │ ├── 03_file_transfer.js │ ├── 99_end.js │ └── index.js │ ├── storage │ ├── 00_login.js │ ├── 00_section.js │ ├── 01_volume.js │ ├── 02_shares.js │ ├── 03_create_share.js │ ├── 04_snapshots.js │ ├── 05_topology.js │ ├── 06_datasets.js │ ├── 07_replications.js │ ├── 08_import_volume.js │ ├── 09_import_media.js │ ├── 99_end.js │ └── index.js │ ├── system │ ├── 00_login.js │ ├── 00_section.js │ ├── 01_overview.js │ ├── 01_preferences.js │ ├── 03_boot_volume.js │ ├── 04_updates.js │ ├── 05_language_and_region.js │ ├── 06_web_ui.js │ ├── 07_certificates.js │ ├── 07a_create_certificate.js │ ├── 08_alert_and_reporting.js │ ├── 09_console.js │ ├── 10_debug.js │ ├── 11_tunables.js │ ├── 12_ntp.js │ ├── 13_support.js │ ├── 99_end.js │ └── index.js │ └── vms │ ├── 00_login.js │ ├── 00_section.js │ ├── 01_vm.js │ ├── 01a_devices.js │ ├── 01b_volumes.js │ ├── 02_datastores.js │ ├── 03_settings.js │ ├── 99_end.js │ └── index.js ├── tsconfig.json ├── tslint.json ├── typings.json ├── typings ├── globals │ └── systemjs │ │ ├── index.d.ts │ │ └── typings.json ├── index.d.ts └── modules │ ├── bluebird-global │ ├── index.d.ts │ └── typings.json │ ├── bytes │ ├── index.d.ts │ └── typings.json │ ├── crossroads │ ├── index.d.ts │ └── typings.json │ ├── hasher │ ├── index.d.ts │ └── typings.json │ ├── lodash │ ├── index.d.ts │ └── typings.json │ ├── signals │ ├── index.d.ts │ └── typings.json │ └── uuid │ ├── index.d.ts │ └── typings.json ├── ui ├── abstract │ ├── abstract-component-action-delegate.js │ ├── abstract-inspector.js │ ├── abstract-multiple-select-controller.js │ ├── abstract-search-account-multiple.js │ └── abstract-search-account.js ├── calendar │ └── calendar.reel │ │ ├── calendar.html │ │ └── calendar.js ├── console.reel │ ├── _console.css │ ├── console.html │ └── console.js ├── controls │ ├── allocation-bar.reel │ │ ├── _allocation-bar.css │ │ ├── allocation-bar.html │ │ └── allocation-bar.js │ ├── button-group.reel │ │ ├── _button-group.css │ │ ├── button-group.html │ │ └── button-group.js │ ├── cascading-list.reel │ │ ├── _cascading-list.css │ │ ├── cascading-list-item.reel │ │ │ ├── _cascading-list-item.css │ │ │ ├── cascading-list-item.css │ │ │ ├── cascading-list-item.html │ │ │ └── cascading-list-item.js │ │ ├── cascading-list.css │ │ ├── cascading-list.html │ │ └── cascading-list.js │ ├── chart.info │ │ └── sample │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ └── ui │ │ │ └── main.reel │ │ │ ├── main.html │ │ │ └── main.js │ ├── chart.reel │ │ ├── _chart.css │ │ ├── chart.html │ │ └── chart.js │ ├── disk-selector.reel │ │ ├── _disk-selector.css │ │ ├── disk-selector-dropzone.reel │ │ │ ├── _disk-selector-dropzone.css │ │ │ ├── disk-selector-dropzone.html │ │ │ └── disk-selector-dropzone.js │ │ ├── disk-selector.html │ │ └── disk-selector.js │ ├── field-mac-address.reel │ │ ├── field-mac-address.html │ │ └── field-mac-address.js │ ├── field-treeview.info │ │ └── sample │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ └── ui │ │ │ └── main.reel │ │ │ ├── main.html │ │ │ └── main.js │ ├── field-treeview.reel │ │ ├── _field-treeview.css │ │ ├── field-treeview.html │ │ └── field-treeview.js │ ├── foldable-section.info │ │ └── sample │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ └── ui │ │ │ └── main.reel │ │ │ ├── main.html │ │ │ └── main.js │ ├── foldable-section.reel │ │ ├── _foldable-section.css │ │ ├── foldable-section.html │ │ └── foldable-section.js │ ├── grid.reel │ │ ├── _grid.css │ │ ├── grid-item.reel │ │ │ ├── _grid-item.css │ │ │ ├── grid-item.html │ │ │ └── grid-item.js │ │ ├── grid.html │ │ └── grid.js │ ├── info-box.reel │ │ ├── _info-box.css │ │ ├── info-box.html │ │ └── info-box.js │ ├── inspector-footer.reel │ │ ├── _inspector-footer.css │ │ ├── inspector-footer.html │ │ └── inspector-footer.js │ ├── inspector-option.reel │ │ ├── _inspector-option.css │ │ ├── inspector-option.html │ │ └── inspector-option.js │ ├── inspector-section-title.reel │ │ ├── _inspector-section-title.css │ │ ├── inspector-section-title.html │ │ └── inspector-section-title.js │ ├── ip-aliases.reel │ │ ├── _ip-aliases.css │ │ ├── ip-address.reel │ │ │ ├── _ip-address.css │ │ │ ├── ip-address.html │ │ │ └── ip-address.js │ │ ├── ip-aliases.html │ │ ├── ip-aliases.js │ │ └── table-header.reel │ │ │ ├── table-header.html │ │ │ └── table-header.js │ ├── labeled-icon.reel │ │ ├── _labeled-icon.css │ │ ├── default-icon.reel │ │ │ ├── _default-icon.css │ │ │ ├── default-icon.html │ │ │ └── default-icon.js │ │ ├── labeled-icon.html │ │ └── labeled-icon.js │ ├── list.reel │ │ ├── _list.css │ │ ├── list-item.reel │ │ │ ├── _list-item.css │ │ │ ├── list-item.html │ │ │ └── list-item.js │ │ ├── list.html │ │ └── list.js │ ├── modal.reel │ │ └── _modal.css │ ├── placeholder.reel │ │ ├── placeholder.html │ │ └── placeholder.js │ ├── search-groups-multiple.reel │ │ ├── search-groups-multiple.html │ │ └── search-groups-multiple.js │ ├── search-groups.reel │ │ ├── search-groups.html │ │ └── search-groups.js │ ├── search-users-multiple.reel │ │ ├── search-users-multiple.html │ │ └── search-users-multiple.js │ ├── search-users.reel │ │ ├── search-users.html │ │ └── search-users.js │ ├── section-root.reel │ │ ├── _section-root.css │ │ ├── section-root.html │ │ └── section-root.js │ ├── section.reel │ │ ├── section-settings.reel │ │ │ ├── _section-settings.css │ │ │ ├── section-settings.html │ │ │ └── section-settings.js │ │ ├── section.html │ │ └── section.js │ ├── table-editable-header.reel │ │ ├── table-editable-header.html │ │ └── table-editable-header.js │ ├── table.info │ │ └── sample │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ └── ui │ │ │ └── main.reel │ │ │ ├── main.html │ │ │ └── main.js │ ├── table.reel │ │ ├── _table.css │ │ ├── table-cell.reel │ │ │ ├── _table-cell.css │ │ │ ├── table-cell-text.js │ │ │ ├── table-cell.html │ │ │ └── table-cell.js │ │ ├── table.html │ │ └── table.js │ ├── timezone-picker.reel │ │ ├── _timezone-picker.css │ │ ├── gray-600.png │ │ ├── pin.png │ │ ├── timezone-picker.html │ │ └── timezone-picker.js │ ├── topologizer.reel │ │ ├── _topologizer.css │ │ ├── topologizer.html │ │ └── topologizer.js │ ├── topology.reel │ │ ├── _topology.css │ │ ├── topology-dropzone.reel │ │ │ ├── _topology-dropzone.css │ │ │ ├── topology-dropzone.html │ │ │ └── topology-dropzone.js │ │ ├── topology-item.reel │ │ │ ├── _topology-item.css │ │ │ ├── topology-item.html │ │ │ └── topology-item.js │ │ ├── topology.html │ │ ├── topology.js │ │ └── vdev.reel │ │ │ ├── _vdev.css │ │ │ ├── vdev.html │ │ │ └── vdev.js │ ├── traffic-light.reel │ │ ├── _traffic-light.css │ │ ├── traffic-light.html │ │ └── traffic-light.js │ ├── tree-view.reel │ │ ├── _tree-view.css │ │ ├── child-node.reel │ │ │ ├── _child-node.css │ │ │ ├── child-node.html │ │ │ └── child-node.js │ │ ├── current-node.reel │ │ │ ├── _current-node.css │ │ │ ├── current-node.html │ │ │ └── current-node.js │ │ ├── tree-view.html │ │ └── tree-view.js │ ├── unixPermissions.info │ │ └── sample │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ └── ui │ │ │ └── main.reel │ │ │ ├── main.html │ │ │ └── main.js │ ├── unixPermissions.reel │ │ ├── _unixPermissions.css │ │ ├── unixPermissions.html │ │ └── unixPermissions.js │ └── viewer.reel │ │ ├── _viewer.css │ │ ├── viewer.html │ │ └── viewer.js ├── dashboard │ ├── dashboard.reel │ │ ├── _dashboard.css │ │ ├── dashboard.html │ │ └── dashboard.js │ ├── notifications.info │ │ └── sample │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ └── ui │ │ │ └── main.reel │ │ │ ├── main.html │ │ │ └── main.js │ ├── notifications.reel │ │ ├── _notifications.css │ │ ├── notification-details.reel │ │ │ ├── _notification-details.css │ │ │ ├── alert-notification-details.reel │ │ │ │ ├── _alert-notification-details.css │ │ │ │ ├── alert-notification-details.html │ │ │ │ └── alert-notification-details.js │ │ │ └── task-notification-details.reel │ │ │ │ ├── _task-notification-details.css │ │ │ │ ├── task-notification-details.html │ │ │ │ └── task-notification-details.js │ │ ├── notification.reel │ │ │ ├── _notification.css │ │ │ ├── alert-notification.reel │ │ │ │ ├── _alert-notification.css │ │ │ │ ├── alert-notification.html │ │ │ │ └── alert-notification.js │ │ │ ├── notification.html │ │ │ ├── notification.js │ │ │ └── task-notification.reel │ │ │ │ ├── _task-notification.css │ │ │ │ ├── task-notification.html │ │ │ │ └── task-notification.js │ │ ├── notifications.html │ │ └── notifications.js │ ├── sideboard.reel │ │ ├── _sideboard.css │ │ ├── sideboard.html │ │ └── sideboard.js │ ├── widget-dropzone.reel │ │ ├── _widget-dropzone.css │ │ ├── widget-dropzone.html │ │ └── widget-dropzone.js │ └── widgets │ │ ├── chart-live.reel │ │ ├── _chart-live.css │ │ ├── chart-live.html │ │ └── chart-live.js │ │ ├── widget-icon.reel │ │ ├── _widget-icon.css │ │ ├── widget-icon.html │ │ └── widget-icon.js │ │ ├── widget-wrapper.reel │ │ ├── _widget-wrapper.css │ │ ├── widget-wrapper.html │ │ └── widget-wrapper.js │ │ └── widget.reel │ │ ├── _widget.css │ │ ├── widget.css │ │ ├── widget.html │ │ └── widget.js ├── disconnection-modal.reel │ ├── _disconnection-modal.css │ ├── disconnection-modal.html │ └── disconnection-modal.js ├── drawer.reel │ ├── _drawer.css │ ├── drawer-item.reel │ │ ├── _drawer-item.css │ │ ├── drawer-item.html │ │ └── drawer-item.js │ ├── drawer.html │ └── drawer.js ├── icons │ ├── afp-service.reel │ │ ├── afp-service.html │ │ └── afp-service.js │ ├── certificates │ │ ├── ca.reel │ │ │ ├── ca.html │ │ │ └── ca.js │ │ └── certificate.reel │ │ │ ├── certificate.html │ │ │ └── certificate.js │ ├── dataset.reel │ │ ├── dataset.html │ │ └── dataset.js │ ├── directory-services.reel │ │ ├── directory-services.html │ │ └── directory-services.js │ ├── directory.reel │ │ ├── _directory.css │ │ ├── directory.html │ │ └── directory.js │ ├── disk.reel │ │ ├── _disk.css │ │ ├── disk.html │ │ ├── disk.js │ │ ├── hdd.svg │ │ └── ssd.svg │ ├── file.reel │ │ ├── file.html │ │ └── file.js │ ├── freenas-icon.reel │ │ ├── freenas-icon.html │ │ └── freenas-icon.js │ ├── group.reel │ │ ├── group.html │ │ └── group.js │ ├── i-settings.reel │ │ ├── i-settings.html │ │ └── i-settings.js │ ├── ipmi.reel │ │ ├── _ipmi.css │ │ ├── ipmi.html │ │ └── ipmi.js │ ├── network-interface.reel │ │ ├── bridge.reel │ │ │ ├── bridge.html │ │ │ └── bridge.js │ │ ├── interface.reel │ │ │ ├── _interface.css │ │ │ ├── interface.html │ │ │ └── interface.js │ │ ├── lagg.reel │ │ │ ├── lagg.html │ │ │ └── lagg.js │ │ ├── network-device.html │ │ ├── network-device.js │ │ ├── network-interface.html │ │ ├── network-interface.js │ │ └── vlan.reel │ │ │ ├── vlan.html │ │ │ └── vlan.js │ ├── nfs-service.reel │ │ ├── nfs-service.html │ │ └── nfs-service.js │ ├── nfs-share.reel │ │ ├── nfs-share.html │ │ └── nfs-share.js │ ├── sharing.reel │ │ ├── sharing.html │ │ └── sharing.js │ ├── smb-service.reel │ │ ├── smb-service.html │ │ ├── smb-service.js │ │ ├── smb-share.html │ │ └── smb-share.js │ ├── smb-share.reel │ │ ├── smb-share.html │ │ └── smb-share.js │ ├── user.reel │ │ ├── user.html │ │ └── user.js │ ├── volume.reel │ │ ├── volume.html │ │ └── volume.js │ └── zvol.reel │ │ ├── zvol.html │ │ └── zvol.js ├── inspectors │ ├── calendar-task.reel │ │ ├── _calendar-task.css │ │ ├── calendar-task.html │ │ ├── calendar-task.js │ │ ├── cron-args.reel │ │ │ ├── _cron-args.css │ │ │ ├── cron-args.html │ │ │ └── cron-args.js │ │ ├── replication-args.reel │ │ │ ├── _replication-args.css │ │ │ ├── replication-args.html │ │ │ └── replication-args.js │ │ ├── rsync-args.reel │ │ │ ├── _rsync-args.css │ │ │ ├── rsync-args.html │ │ │ └── rsync-args.js │ │ ├── scrub-args.reel │ │ │ ├── _scrub-args.css │ │ │ ├── scrub-args.html │ │ │ └── scrub-args.js │ │ ├── smart-args.reel │ │ │ ├── _smart-args.css │ │ │ ├── smart-args.html │ │ │ └── smart-args.js │ │ └── snapshot-args.reel │ │ │ ├── _snapshot-args.css │ │ │ ├── snapshot-args.html │ │ │ └── snapshot-args.js │ ├── calendar.reel │ │ ├── _calendar.css │ │ ├── calendar-list.reel │ │ │ ├── _calendar-list.css │ │ │ ├── calendar-list-day.reel │ │ │ │ ├── _calendar-list-day.css │ │ │ │ ├── calendar-list-day.html │ │ │ │ └── calendar-list-day.js │ │ │ ├── calendar-list-item.reel │ │ │ │ ├── _calendar-list-item.css │ │ │ │ ├── calendar-list-item.html │ │ │ │ └── calendar-list-item.js │ │ │ ├── calendar-list.html │ │ │ └── calendar-list.js │ │ ├── calendar-widget.reel │ │ │ ├── _calendar-widget.css │ │ │ ├── calendar-event.reel │ │ │ │ ├── _calendar-event.css │ │ │ │ ├── calendar-event.html │ │ │ │ └── calendar-event.js │ │ │ ├── calendar-widget-day.reel │ │ │ │ ├── _calendar-widget-day.css │ │ │ │ ├── calendar-widget-day.html │ │ │ │ └── calendar-widget-day.js │ │ │ ├── calendar-widget-task.reel │ │ │ │ ├── _calendar-widget-task.css │ │ │ │ ├── calendar-widget-task.html │ │ │ │ └── calendar-widget-task.js │ │ │ ├── calendar-widget-view-month.info │ │ │ │ └── sample │ │ │ │ │ ├── index.html │ │ │ │ │ ├── package.json │ │ │ │ │ └── ui │ │ │ │ │ └── main.reel │ │ │ │ │ ├── main.html │ │ │ │ │ └── main.js │ │ │ ├── calendar-widget.html │ │ │ ├── calendar-widget.js │ │ │ ├── day-column.reel │ │ │ │ ├── _day-column.css │ │ │ │ ├── day-column.html │ │ │ │ └── day-column.js │ │ │ ├── day-header.reel │ │ │ │ ├── _day-header.css │ │ │ │ ├── day-header.html │ │ │ │ └── day-header.js │ │ │ ├── day-view.reel │ │ │ │ ├── _day-view.css │ │ │ │ ├── day-view.html │ │ │ │ └── day-view.js │ │ │ ├── month-view.reel │ │ │ │ ├── _month-view.css │ │ │ │ ├── month-view.html │ │ │ │ └── month-view.js │ │ │ └── week-view.reel │ │ │ │ ├── _week-view.css │ │ │ │ ├── week-view.html │ │ │ │ └── week-view.js │ │ ├── calendar.css │ │ ├── calendar.html │ │ ├── calendar.js │ │ ├── task-category.reel │ │ │ ├── _task-category.css │ │ │ ├── task-category.html │ │ │ └── task-category.js │ │ └── task-type-indicator.reel │ │ │ ├── _task-type-indicator.css │ │ │ ├── task-type-indicator.html │ │ │ └── task-type-indicator.js │ ├── cron-job.info │ │ └── sample │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ └── ui │ │ │ └── main.reel │ │ │ ├── main.html │ │ │ └── main.js │ ├── cron-job.reel │ │ ├── _cron-job.css │ │ ├── cron-job-rule.reel │ │ │ ├── cron-job-rule.html │ │ │ └── cron-job-rule.js │ │ ├── cron-job.html │ │ └── cron-job.js │ ├── inspector.info │ │ └── sample │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ └── ui │ │ │ └── main.reel │ │ │ ├── main.html │ │ │ ├── main.js │ │ │ └── main.json │ ├── inspector.reel │ │ ├── _inspector.css │ │ ├── inspector-confirmation.reel │ │ │ ├── _inspector-confirmation.css │ │ │ ├── inspector-confirmation.html │ │ │ └── inspector-confirmation.js │ │ ├── inspector.html │ │ └── inspector.js │ ├── rsyncd-module.reel │ │ ├── _rsyncd-module.css │ │ ├── rsyncd-module.html │ │ └── rsyncd-module.js │ ├── service.reel │ │ ├── _service.css │ │ ├── afp-service.reel │ │ │ ├── _afp-service.css │ │ │ ├── afp-service.html │ │ │ └── afp-service.js │ │ ├── dc-service.reel │ │ │ ├── _dc-service.css │ │ │ ├── dc-service.html │ │ │ └── dc-service.js │ │ ├── domain-controller-service.reel │ │ │ ├── _domain-controller-service.css │ │ │ ├── domain-controller-service.html │ │ │ └── domain-controller-service.js │ │ ├── dyndns-service.reel │ │ │ ├── _dyndns-service.css │ │ │ ├── dyndns-service.html │ │ │ └── dyndns-service.js │ │ ├── ftp-service.reel │ │ │ ├── _ftp-service.css │ │ │ ├── ftp-service.html │ │ │ └── ftp-service.js │ │ ├── gluster-service.reel │ │ │ ├── _gluster-service.css │ │ │ ├── gluster-service.html │ │ │ └── gluster-service.js │ │ ├── ipfs-service.reel │ │ │ ├── _ipfs-service.css │ │ │ ├── ipfs-service.html │ │ │ └── ipfs-service.js │ │ ├── iscsi-service.reel │ │ │ ├── _iscsi-service.css │ │ │ ├── iscsi-service.html │ │ │ └── iscsi-service.js │ │ ├── ldap-service.reel │ │ │ ├── _ldap-service.css │ │ │ ├── ldap-service.html │ │ │ └── ldap-service.js │ │ ├── lldp-service.reel │ │ │ ├── _lldp-service.css │ │ │ ├── lldp-service.html │ │ │ └── lldp-service.js │ │ ├── nfs-service.reel │ │ │ ├── _nfs-service.css │ │ │ ├── nfs-service.html │ │ │ └── nfs-service.js │ │ ├── nis-service.reel │ │ │ ├── _nis-service.css │ │ │ ├── nis-service.html │ │ │ └── nis-service.js │ │ ├── nt4-service.reel │ │ │ ├── _nt4-service.css │ │ │ ├── nt4-service.html │ │ │ └── nt4-service.js │ │ ├── rsyncd-service.reel │ │ │ ├── _rsyncd-service.css │ │ │ ├── rsyncd-service.html │ │ │ └── rsyncd-service.js │ │ ├── scp-service.reel │ │ │ ├── _scp-service.css │ │ │ ├── scp-service.html │ │ │ └── scp-service.js │ │ ├── service-overview.reel │ │ │ ├── _service-overview.css │ │ │ ├── service-overview.html │ │ │ └── service-overview.js │ │ ├── service.html │ │ ├── service.js │ │ ├── smartd-service.reel │ │ │ ├── _smartd-service.css │ │ │ ├── smartd-service.html │ │ │ └── smartd-service.js │ │ ├── smb-service.reel │ │ │ ├── _smb-service.css │ │ │ ├── smb-service.html │ │ │ └── smb-service.js │ │ ├── snmp-service.reel │ │ │ ├── _snmp-service.css │ │ │ ├── snmp-service.html │ │ │ └── snmp-service.js │ │ ├── sshd-service.reel │ │ │ ├── _sshd-service.css │ │ │ ├── sshd-service.html │ │ │ └── sshd-service.js │ │ ├── swift-service.reel │ │ │ ├── _swift-service.css │ │ │ ├── swift-service.html │ │ │ └── swift-service.js │ │ ├── tftpd-service.reel │ │ │ ├── _tftpd-service.css │ │ │ ├── tftpd-service.html │ │ │ └── tftpd-service.js │ │ ├── ups-service.reel │ │ │ ├── _ups-service.css │ │ │ ├── ups-service.html │ │ │ └── ups-service.js │ │ └── webdav-service.reel │ │ │ ├── _webdav-service.css │ │ │ ├── webdav-service.html │ │ │ └── webdav-service.js │ ├── services-category.reel │ │ ├── _services-category.css │ │ ├── _share.css │ │ ├── services-category-overview.reel │ │ │ ├── _services-category-overview.css │ │ │ ├── services-category-overview.html │ │ │ └── services-category-overview.js │ │ ├── services-category.html │ │ ├── services-category.js │ │ ├── share.html │ │ └── share.js │ ├── static-route.info │ │ └── sample │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ └── ui │ │ │ └── main.reel │ │ │ ├── main.html │ │ │ └── main.js │ └── static-route.reel │ │ ├── _static-route.css │ │ ├── static-route.html │ │ └── static-route.js ├── main-sidebar │ ├── current-user-summary.reel │ │ ├── _current-user-summary.css │ │ ├── current-user-summary.html │ │ └── current-user-summary.js │ ├── main-navigation.reel │ │ ├── _main-navigation.css │ │ ├── main-navigation-item.reel │ │ │ ├── _main-navigation-item.css │ │ │ ├── main-navigation-item.html │ │ │ └── main-navigation-item.js │ │ ├── main-navigation.html │ │ └── main-navigation.js │ └── main-sidebar.reel │ │ ├── _main-sidebar.css │ │ ├── main-sidebar.html │ │ └── main-sidebar.js ├── main.reel │ ├── _main.css │ ├── main.css │ ├── main.html │ └── main.js ├── sections │ ├── accounts │ │ └── inspectors │ │ │ ├── accounts-list-options.reel │ │ │ ├── accounts-list-options.html │ │ │ └── accounts-list-options.js │ │ │ ├── directory-services.reel │ │ │ ├── _directory-services.css │ │ │ ├── directory-service.reel │ │ │ │ ├── directory-service.html │ │ │ │ └── directory-service.js │ │ │ ├── directory-services.html │ │ │ ├── directory-services.js │ │ │ ├── freeipa-service.reel │ │ │ │ ├── freeipa-service.html │ │ │ │ └── freeipa-service.js │ │ │ ├── ldap-service.reel │ │ │ │ ├── ldap-service.html │ │ │ │ └── ldap-service.js │ │ │ ├── nis-service.reel │ │ │ │ ├── nis-service.html │ │ │ │ └── nis-service.js │ │ │ └── winbind-service.reel │ │ │ │ ├── winbind-service.html │ │ │ │ └── winbind-service.js │ │ │ ├── group.reel │ │ │ ├── _group.css │ │ │ ├── group.html │ │ │ └── group.js │ │ │ ├── kerberos-keytab.reel │ │ │ ├── _kerberos-keytab.css │ │ │ ├── kerberos-keytab.html │ │ │ └── kerberos-keytab.js │ │ │ ├── kerberos-realm.reel │ │ │ ├── _kerberos-realm.css │ │ │ ├── kerberos-realm.html │ │ │ └── kerberos-realm.js │ │ │ ├── overview.reel │ │ │ ├── overview.html │ │ │ └── overview.js │ │ │ └── user.reel │ │ │ ├── _user.css │ │ │ ├── user.html │ │ │ └── user.js │ ├── containers │ │ ├── controls │ │ │ ├── docker-collection-list.reel │ │ │ │ ├── docker-collection-list.html │ │ │ │ └── docker-collection-list.js │ │ │ ├── docker-image-search.reel │ │ │ │ ├── _docker-image-search.css │ │ │ │ ├── docker-image-search.html │ │ │ │ ├── docker-image-search.js │ │ │ │ └── table-row-image.reel │ │ │ │ │ ├── table-row-image.html │ │ │ │ │ └── table-row-image.js │ │ │ ├── table-environment.reel │ │ │ │ ├── table-environment.html │ │ │ │ ├── table-environment.js │ │ │ │ └── table-row-environment.reel │ │ │ │ │ ├── table-row-environment.html │ │ │ │ │ └── table-row-environment.js │ │ │ ├── table-port.reel │ │ │ │ ├── table-port.html │ │ │ │ ├── table-port.js │ │ │ │ └── table-row-port.reel │ │ │ │ │ ├── table-row-port.html │ │ │ │ │ └── table-row-port.js │ │ │ ├── table-settings.reel │ │ │ │ ├── table-row-settings.reel │ │ │ │ │ ├── table-row-settings.html │ │ │ │ │ └── table-row-settings.js │ │ │ │ ├── table-settings.html │ │ │ │ └── table-settings.js │ │ │ └── table-volume.reel │ │ │ │ ├── table-row-volume.reel │ │ │ │ ├── _table-row-volume.css │ │ │ │ ├── table-row-volume.html │ │ │ │ └── table-row-volume.js │ │ │ │ ├── table-volume.html │ │ │ │ └── table-volume.js │ │ └── inspectors │ │ │ ├── container-readme.reel │ │ │ ├── _container-readme.css │ │ │ ├── container-readme.html │ │ │ └── container-readme.js │ │ │ ├── container.reel │ │ │ ├── _container.css │ │ │ ├── container.html │ │ │ └── container.js │ │ │ ├── docker-collection.reel │ │ │ ├── docker-collection.html │ │ │ └── docker-collection.js │ │ │ ├── docker-host.reel │ │ │ ├── _docker-host.css │ │ │ ├── docker-host.html │ │ │ └── docker-host.js │ │ │ ├── docker-image-pull.reel │ │ │ ├── docker-image-pull.html │ │ │ └── docker-image-pull.js │ │ │ ├── docker-image.reel │ │ │ ├── docker-image.html │ │ │ └── docker-image.js │ │ │ ├── docker-logs.reel │ │ │ ├── _docker-logs.css │ │ │ ├── docker-logs.html │ │ │ └── docker-logs.js │ │ │ ├── docker-network.reel │ │ │ ├── docker-network.html │ │ │ └── docker-network.js │ │ │ └── settings.reel │ │ │ ├── settings.html │ │ │ └── settings.js │ ├── network │ │ ├── controls │ │ │ ├── interface-overview.reel │ │ │ │ ├── _interface-overview.css │ │ │ │ ├── interface-overview.html │ │ │ │ └── interface-overview.js │ │ │ ├── table-container-default-header.reel │ │ │ │ ├── table-container-default-header.html │ │ │ │ └── table-container-default-header.js │ │ │ ├── table-hosts.reel │ │ │ │ ├── table-hosts.html │ │ │ │ ├── table-hosts.js │ │ │ │ └── table-row-host.reel │ │ │ │ │ ├── table-row-host.html │ │ │ │ │ └── table-row-host.js │ │ │ └── table-routes.reel │ │ │ │ ├── _table-routes.css │ │ │ │ ├── table-routes.html │ │ │ │ ├── table-routes.js │ │ │ │ └── table-row-route.reel │ │ │ │ ├── _table-row-route.css │ │ │ │ ├── table-row-route.html │ │ │ │ └── table-row-route.js │ │ └── inspectors │ │ │ ├── ipmi.reel │ │ │ ├── _ipmi.css │ │ │ ├── ipmi.html │ │ │ └── ipmi.js │ │ │ ├── network-configuration.reel │ │ │ ├── network-configuration.html │ │ │ └── network-configuration.js │ │ │ ├── network-interface-creator.reel │ │ │ ├── _network-interface-creator.css │ │ │ ├── network-interface-creator.html │ │ │ └── network-interface-creator.js │ │ │ ├── network-interface.reel │ │ │ ├── _network-interface.css │ │ │ ├── bridge.reel │ │ │ │ ├── _bridge.css │ │ │ │ ├── bridge.html │ │ │ │ └── bridge.js │ │ │ ├── interface.reel │ │ │ │ ├── _interface.css │ │ │ │ ├── interface.html │ │ │ │ └── interface.js │ │ │ ├── lagg.reel │ │ │ │ ├── _lagg.css │ │ │ │ ├── lagg.html │ │ │ │ └── lagg.js │ │ │ ├── network-interface.html │ │ │ ├── network-interface.js │ │ │ └── vlan.reel │ │ │ │ ├── _vlan.css │ │ │ │ ├── vlan.html │ │ │ │ └── vlan.js │ │ │ ├── overview.reel │ │ │ ├── _overview.css │ │ │ ├── interface-overview-item.reel │ │ │ │ ├── _interface-overview-item.css │ │ │ │ ├── interface-overview-item.html │ │ │ │ └── interface-overview-item.js │ │ │ ├── overview.html │ │ │ └── overview.js │ │ │ └── settings.reel │ │ │ ├── _settings.css │ │ │ ├── settings.html │ │ │ └── settings.js │ ├── peering │ │ └── inspectors │ │ │ ├── amazon-s3-credentials.reel │ │ │ ├── amazon-s3-credentials.html │ │ │ └── amazon-s3-credentials.js │ │ │ ├── freenas-credentials.reel │ │ │ ├── freenas-credentials.html │ │ │ └── freenas-credentials.js │ │ │ ├── peer.reel │ │ │ ├── peer.html │ │ │ └── peer.js │ │ │ ├── peering-creator.reel │ │ │ ├── peering-creator.html │ │ │ └── peering-creator.js │ │ │ ├── ssh-credentials.reel │ │ │ ├── ssh-credentials.html │ │ │ └── ssh-credentials.js │ │ │ └── vmware-credentials.reel │ │ │ ├── vmware-credentials.html │ │ │ └── vmware-credentials.js │ ├── storage │ │ ├── controls │ │ │ └── volume-dataset-options.reel │ │ │ │ ├── volume-dataset-options.html │ │ │ │ └── volume-dataset-options.js │ │ └── inspectors │ │ │ ├── available-disks.reel │ │ │ ├── _available-disks.css │ │ │ ├── available-disks.html │ │ │ ├── available-disks.js │ │ │ └── disks-category.reel │ │ │ │ ├── _disks-category.css │ │ │ │ ├── disks-category.html │ │ │ │ └── disks-category.js │ │ │ ├── detached-volume.reel │ │ │ ├── _detached-volume.css │ │ │ ├── detached-volume.html │ │ │ └── detached-volume.js │ │ │ ├── disk.reel │ │ │ ├── _disk.css │ │ │ ├── disk.html │ │ │ └── disk.js │ │ │ ├── encrypted-volume-actions.reel │ │ │ ├── _encrypted-volume-actions.css │ │ │ ├── encrypted-volume-actions.html │ │ │ └── encrypted-volume-actions.js │ │ │ ├── encrypted-volume-importer.reel │ │ │ ├── _encrypted-volume-importer.css │ │ │ ├── encrypted-volume-importer.html │ │ │ └── encrypted-volume-importer.js │ │ │ ├── overview.reel │ │ │ ├── _overview.css │ │ │ ├── overview.html │ │ │ ├── overview.js │ │ │ └── volume-overview-item.reel │ │ │ │ ├── _volume-overview-item.css │ │ │ │ ├── volume-overview-item.html │ │ │ │ └── volume-overview-item.js │ │ │ ├── replication.reel │ │ │ ├── _replication.css │ │ │ ├── replication-history.reel │ │ │ │ ├── replication-history.html │ │ │ │ └── replication-history.js │ │ │ ├── replication-status.reel │ │ │ │ ├── replication-status.html │ │ │ │ └── replication-status.js │ │ │ ├── replication.html │ │ │ └── replication.js │ │ │ ├── share.reel │ │ │ ├── _share.css │ │ │ ├── abstract-share-inspector.js │ │ │ ├── afp-share.reel │ │ │ │ ├── _afp-share.css │ │ │ │ ├── afp-share.html │ │ │ │ └── afp-share.js │ │ │ ├── iscsi-share.reel │ │ │ │ ├── _iscsi-share.css │ │ │ │ ├── iscsi-share.html │ │ │ │ └── iscsi-share.js │ │ │ ├── nfs-share.reel │ │ │ │ ├── _nfs-share.css │ │ │ │ ├── nfs-share.html │ │ │ │ └── nfs-share.js │ │ │ ├── share-overview.reel │ │ │ │ ├── _share-overview.css │ │ │ │ ├── share-overview.html │ │ │ │ └── share-overview.js │ │ │ ├── share-owner.reel │ │ │ │ ├── _share-owner.css │ │ │ │ ├── share-owner.html │ │ │ │ └── share-owner.js │ │ │ ├── share-permissions.reel │ │ │ │ ├── share-permissions.html │ │ │ │ └── share-permissions.js │ │ │ ├── share.html │ │ │ ├── share.js │ │ │ ├── smb-share.reel │ │ │ │ ├── _smb-share.css │ │ │ │ ├── smb-share.html │ │ │ │ └── smb-share.js │ │ │ └── webdav-share.reel │ │ │ │ ├── _webdav-share.css │ │ │ │ ├── webdav-share.html │ │ │ │ └── webdav-share.js │ │ │ ├── snapshot.reel │ │ │ ├── _snapshot.css │ │ │ ├── snapshot.html │ │ │ └── snapshot.js │ │ │ ├── topology.reel │ │ │ ├── _topology.css │ │ │ ├── topology.html │ │ │ └── topology.js │ │ │ ├── vmware-snapshot.reel │ │ │ ├── _vmware-snapshot.css │ │ │ ├── vmware-snapshot.html │ │ │ └── vmware-snapshot.js │ │ │ ├── volume-creator.reel │ │ │ ├── _volume-creator.css │ │ │ ├── volume-creator.html │ │ │ └── volume-creator.js │ │ │ ├── volume-dataset.reel │ │ │ ├── _volume-dataset.css │ │ │ ├── volume-dataset-permissions.reel │ │ │ │ ├── volume-dataset-permissions.html │ │ │ │ └── volume-dataset-permissions.js │ │ │ ├── volume-dataset-settings.reel │ │ │ │ ├── _volume-dataset-settings.css │ │ │ │ ├── volume-dataset-settings.html │ │ │ │ └── volume-dataset-settings.js │ │ │ ├── volume-dataset.html │ │ │ └── volume-dataset.js │ │ │ ├── volume-importer.reel │ │ │ ├── volume-importer.html │ │ │ └── volume-importer.js │ │ │ ├── volume-media-importer.reel │ │ │ ├── volume-media-importer.html │ │ │ └── volume-media-importer.js │ │ │ └── volume.reel │ │ │ ├── _volume.css │ │ │ ├── volume.html │ │ │ └── volume.js │ ├── system │ │ └── inspectors │ │ │ ├── alert.reel │ │ │ ├── alert-filter.reel │ │ │ │ ├── _alert-filter.css │ │ │ │ ├── alert-filter.html │ │ │ │ ├── alert-filter.js │ │ │ │ ├── table-header.reel │ │ │ │ │ ├── table-header.html │ │ │ │ │ └── table-header.js │ │ │ │ └── table-row-predicate.reel │ │ │ │ │ ├── table-row-predicate.html │ │ │ │ │ └── table-row-predicate.js │ │ │ ├── alert.html │ │ │ ├── alert.js │ │ │ ├── mail.reel │ │ │ │ ├── mail.html │ │ │ │ └── mail.js │ │ │ └── table-predicates.reel │ │ │ │ ├── table-predicates.html │ │ │ │ └── table-predicates.js │ │ │ ├── boot-pool.reel │ │ │ ├── _boot-pool.css │ │ │ ├── boot-environment-row.reel │ │ │ │ ├── boot-environment-row.html │ │ │ │ └── boot-environment-row.js │ │ │ ├── boot-environment-table.reel │ │ │ │ ├── boot-environment-table.html │ │ │ │ └── boot-environment-table.js │ │ │ ├── boot-pool-action.reel │ │ │ │ ├── _boot-pool-action.css │ │ │ │ ├── boot-pool-action.html │ │ │ │ └── boot-pool-action.js │ │ │ ├── boot-pool-topology-edit-row.reel │ │ │ │ ├── boot-pool-topology-edit-row.html │ │ │ │ └── boot-pool-topology-edit-row.js │ │ │ ├── boot-pool-topology-row.reel │ │ │ │ ├── boot-pool-topology-row.html │ │ │ │ └── boot-pool-topology-row.js │ │ │ ├── boot-pool-topology-table.reel │ │ │ │ ├── boot-pool-topology-table.html │ │ │ │ └── boot-pool-topology-table.js │ │ │ ├── boot-pool.html │ │ │ └── boot-pool.js │ │ │ ├── certificates.reel │ │ │ ├── certificates.html │ │ │ └── certificates.js │ │ │ ├── crypto-certificate.reel │ │ │ ├── crypto-certificate-creation.reel │ │ │ │ ├── crypto-certificate-creation.html │ │ │ │ └── crypto-certificate-creation.js │ │ │ ├── crypto-certificate-import.reel │ │ │ │ ├── crypto-certificate-import.html │ │ │ │ └── crypto-certificate-import.js │ │ │ ├── crypto-certificate.html │ │ │ └── crypto-certificate.js │ │ │ ├── debug.reel │ │ │ ├── debug.html │ │ │ └── debug.js │ │ │ ├── language-and-region.reel │ │ │ ├── _language-and-region.css │ │ │ ├── language-and-region.html │ │ │ └── language-and-region.js │ │ │ ├── mail.reel │ │ │ ├── mail.html │ │ │ └── mail.js │ │ │ ├── ntpserver.reel │ │ │ ├── ntpserver.html │ │ │ └── ntpserver.js │ │ │ ├── ntpservers.reel │ │ │ ├── ntpservers.html │ │ │ └── ntpservers.js │ │ │ ├── overview.reel │ │ │ ├── _overview.css │ │ │ ├── overview.html │ │ │ └── overview.js │ │ │ ├── preferences.reel │ │ │ ├── preferences.html │ │ │ └── preferences.js │ │ │ ├── serial-console.reel │ │ │ ├── _serial-console.css │ │ │ ├── serial-console.html │ │ │ └── serial-console.js │ │ │ ├── support.reel │ │ │ ├── _support.css │ │ │ ├── support.html │ │ │ └── support.js │ │ │ ├── system-section.reel │ │ │ ├── _system-section.css │ │ │ ├── system-section.html │ │ │ └── system-section.js │ │ │ ├── tunable.reel │ │ │ ├── tunable.html │ │ │ └── tunable.js │ │ │ ├── tunables.reel │ │ │ ├── tunables.html │ │ │ └── tunables.js │ │ │ ├── updates.reel │ │ │ ├── _updates.css │ │ │ ├── updates.html │ │ │ └── updates.js │ │ │ └── web-ui.reel │ │ │ ├── web-ui.html │ │ │ └── web-ui.js │ ├── task │ │ ├── controls │ │ │ └── table-task.reel │ │ │ │ ├── table-task-header.reel │ │ │ │ ├── table-task-header.html │ │ │ │ └── table-task-header.js │ │ │ │ ├── table-task-row.reel │ │ │ │ ├── table-task-row.html │ │ │ │ └── table-task-row.js │ │ │ │ ├── table-task.html │ │ │ │ └── table-task.js │ │ └── inspectors │ │ │ └── tasks.reel │ │ │ ├── tasks.html │ │ │ └── tasks.js │ ├── vms │ │ └── inspectors │ │ │ ├── settings.reel │ │ │ ├── settings.html │ │ │ └── settings.js │ │ │ ├── virtual-machine-datastore.reel │ │ │ ├── virtual-machine-datastore-nfs.reel │ │ │ │ ├── virtual-machine-datastore-nfs.html │ │ │ │ └── virtual-machine-datastore-nfs.js │ │ │ ├── virtual-machine-datastore-volume.reel │ │ │ │ ├── virtual-machine-datastore-volume.html │ │ │ │ └── virtual-machine-datastore-volume.js │ │ │ ├── virtual-machine-datastore.html │ │ │ └── virtual-machine-datastore.js │ │ │ ├── virtual-machine-device-creator.reel │ │ │ ├── virtual-machine-device-creator.html │ │ │ └── virtual-machine-device-creator.js │ │ │ ├── virtual-machine-device.reel │ │ │ ├── virtual-machine-device-cdrom.reel │ │ │ │ ├── virtual-machine-device-cdrom.html │ │ │ │ └── virtual-machine-device-cdrom.js │ │ │ ├── virtual-machine-device-disk.reel │ │ │ │ ├── virtual-machine-device-disk.html │ │ │ │ └── virtual-machine-device-disk.js │ │ │ ├── virtual-machine-device-graphics.reel │ │ │ │ ├── virtual-machine-device-graphics.html │ │ │ │ └── virtual-machine-device-graphics.js │ │ │ ├── virtual-machine-device-nic.reel │ │ │ │ ├── virtual-machine-device-nic.html │ │ │ │ └── virtual-machine-device-nic.js │ │ │ ├── virtual-machine-device-usb.reel │ │ │ │ ├── virtual-machine-device-usb.html │ │ │ │ └── virtual-machine-device-usb.js │ │ │ ├── virtual-machine-device-volume.reel │ │ │ │ ├── _virtual-machine-device-volume.css │ │ │ │ ├── virtual-machine-device-volume.html │ │ │ │ └── virtual-machine-device-volume.js │ │ │ ├── virtual-machine-device.html │ │ │ └── virtual-machine-device.js │ │ │ ├── virtual-machine.reel │ │ │ ├── _virtual-machine.css │ │ │ ├── virtual-machine-readme.reel │ │ │ │ ├── _virtual-machine-readme.css │ │ │ │ ├── virtual-machine-readme.html │ │ │ │ └── virtual-machine-readme.js │ │ │ ├── virtual-machine.html │ │ │ └── virtual-machine.js │ │ │ ├── vm-clone-creator.reel │ │ │ ├── vm-clone-creator.html │ │ │ └── vm-clone-creator.js │ │ │ └── vm-snapshot.reel │ │ │ ├── _vm-snapshot.css │ │ │ ├── vm-snapshot.html │ │ │ └── vm-snapshot.js │ └── wizard │ │ └── inspectors │ │ ├── directory-services.reel │ │ ├── _directory-services.css │ │ ├── directory-services.html │ │ ├── directory-services.js │ │ ├── table-active-directory.reel │ │ │ ├── _table-active-directory.css │ │ │ ├── table-active-directory.html │ │ │ ├── table-active-directory.js │ │ │ └── table-row.reel │ │ │ │ ├── table-row.html │ │ │ │ └── table-row.js │ │ ├── table-freeipa.reel │ │ │ ├── _table-freeipa.css │ │ │ ├── table-freeipa.html │ │ │ ├── table-freeipa.js │ │ │ └── table-row.reel │ │ │ │ ├── table-row.html │ │ │ │ └── table-row.js │ │ ├── table-ldap.reel │ │ │ ├── _table-ldap.css │ │ │ ├── table-ldap.html │ │ │ ├── table-ldap.js │ │ │ └── table-row.reel │ │ │ │ ├── table-row.html │ │ │ │ └── table-row.js │ │ └── table-nis.reel │ │ │ ├── _table-nis.css │ │ │ ├── table-nis.html │ │ │ ├── table-nis.js │ │ │ └── table-row.reel │ │ │ ├── table-row.html │ │ │ └── table-row.js │ │ ├── mail.reel │ │ ├── _mail.css │ │ ├── mail.html │ │ └── mail.js │ │ ├── share.reel │ │ ├── _share.css │ │ ├── share.html │ │ ├── share.js │ │ ├── table-afp.reel │ │ │ ├── _table-afp.css │ │ │ ├── table-afp.html │ │ │ ├── table-afp.js │ │ │ └── table-row.reel │ │ │ │ ├── table-row.html │ │ │ │ └── table-row.js │ │ ├── table-iscsi.reel │ │ │ ├── _table-iscsi.css │ │ │ ├── table-iscsi.html │ │ │ ├── table-iscsi.js │ │ │ └── table-row.reel │ │ │ │ ├── table-row.html │ │ │ │ └── table-row.js │ │ ├── table-nfs.reel │ │ │ ├── _table-nfs.css │ │ │ ├── table-nfs.html │ │ │ ├── table-nfs.js │ │ │ └── table-row.reel │ │ │ │ ├── table-row.html │ │ │ │ └── table-row.js │ │ └── table-smb.reel │ │ │ ├── _table-smb.css │ │ │ ├── table-row.reel │ │ │ ├── table-row.html │ │ │ └── table-row.js │ │ │ ├── table-smb.html │ │ │ └── table-smb.js │ │ ├── system.reel │ │ ├── _system.css │ │ ├── system.html │ │ └── system.js │ │ ├── user.reel │ │ ├── table-users.reel │ │ │ ├── _table-users.css │ │ │ ├── table-row.reel │ │ │ │ ├── table-row.html │ │ │ │ └── table-row.js │ │ │ ├── table-users.html │ │ │ └── table-users.js │ │ ├── user.html │ │ └── user.js │ │ ├── volume.reel │ │ ├── _volume.css │ │ ├── volume.html │ │ └── volume.js │ │ └── wizard.reel │ │ ├── _wizard.css │ │ ├── wizard.html │ │ ├── wizard.js │ │ └── wizard.json ├── services │ └── services.reel │ │ ├── _services.css │ │ ├── services.html │ │ └── services.js ├── sign-in.reel │ ├── _sign-in.css │ ├── sign-in.html │ └── sign-in.js └── widgets │ ├── alerts.reel │ ├── _alerts.css │ ├── alerts.html │ └── alerts.js │ ├── arc-demand-data.reel │ ├── _arc-demand-data.css │ ├── arc-demand-data.html │ └── arc-demand-data.js │ ├── composite-temperature.reel │ ├── composite-temperature.html │ └── composite-temperature.js │ ├── cpu-temperature.reel │ ├── cpu-temperature.html │ └── cpu-temperature.js │ ├── cpu-usage.reel │ ├── _cpu-usage.css │ ├── cpu-usage.html │ └── cpu-usage.js │ ├── disk-temperature.reel │ ├── disk-temperature.html │ └── disk-temperature.js │ ├── disk-traffic.reel │ ├── disk-traffic.html │ └── disk-traffic.js │ ├── load-average.reel │ ├── _load-average.css │ ├── load-average.html │ └── load-average.js │ ├── memory-allocation.reel │ ├── _memory-allocation.css │ ├── memory-allocation.html │ └── memory-allocation.js │ ├── network-traffic.reel │ ├── _network-traffic.css │ ├── network-traffic.html │ └── network-traffic.js │ ├── system-info.reel │ ├── _system-info.css │ ├── system-info.html │ └── system-info.js │ └── tasks.reel │ ├── _tasks.css │ ├── tasks.html │ └── tasks.js ├── vendors ├── jquery-1.12.4.min.js ├── konami.js ├── string.js └── timezone-picker.js └── webpack.config.js /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 4 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | legacy-bundling=true 2 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/LICENSE.md -------------------------------------------------------------------------------- /Shark.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/Shark.jpg -------------------------------------------------------------------------------- /assets/images/alt_logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/assets/images/alt_logo.gif -------------------------------------------------------------------------------- /assets/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/assets/images/bg.png -------------------------------------------------------------------------------- /assets/images/graph-barChart.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/assets/images/graph-barChart.jpg -------------------------------------------------------------------------------- /assets/images/graph-placeholder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/assets/images/graph-placeholder.jpg -------------------------------------------------------------------------------- /assets/images/ix_logo_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/assets/images/ix_logo_text.png -------------------------------------------------------------------------------- /assets/locales/en/help.json: -------------------------------------------------------------------------------- 1 | { 2 | "User.uid": "User ID must be between 0 and 4294967295", 3 | "Group.uid": "Group ID must be between 0 and 4294967295", 4 | "Storage.importMedia.mediaFsType": "Leave field empty to autodetect filesystem type" 5 | } 6 | -------------------------------------------------------------------------------- /assets/locales/en/translation.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /assets/locales/fr/help.json: -------------------------------------------------------------------------------- 1 | { 2 | "User.uid": "L'identifiant de l'utilisateur doit être compris entre 0 et 4294967295" 3 | } 4 | -------------------------------------------------------------------------------- /blue-shark/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 4 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /blue-shark/LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/LICENSE.md -------------------------------------------------------------------------------- /blue-shark/README.md: -------------------------------------------------------------------------------- 1 | # blue-shark 2 | The Montage-based widget set created for FreeNAS 3 | 4 | `npm install` then `gulp` for editing css 5 | 6 | moretk 7 | -------------------------------------------------------------------------------- /blue-shark/assets/fonts/icons/freenas.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/assets/fonts/icons/freenas.ttf -------------------------------------------------------------------------------- /blue-shark/assets/fonts/icons/freenas.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/assets/fonts/icons/freenas.woff -------------------------------------------------------------------------------- /blue-shark/assets/fonts/lato/Lato-Light-7244318390cc4d36aac4a613ff42d308.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/assets/fonts/lato/Lato-Light-7244318390cc4d36aac4a613ff42d308.woff2 -------------------------------------------------------------------------------- /blue-shark/assets/fonts/lato/Lato-Light-90301aa07d780a09812229d6375c3b28.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/assets/fonts/lato/Lato-Light-90301aa07d780a09812229d6375c3b28.woff -------------------------------------------------------------------------------- /blue-shark/assets/fonts/lato/Lato-LightItalic-314210a4825a7cc8ca7db893dfd9d283.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/assets/fonts/lato/Lato-LightItalic-314210a4825a7cc8ca7db893dfd9d283.woff2 -------------------------------------------------------------------------------- /blue-shark/assets/fonts/lato/Lato-LightItalic-b55e385f24f0f9f724dac935fe292ecf.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/assets/fonts/lato/Lato-LightItalic-b55e385f24f0f9f724dac935fe292ecf.woff -------------------------------------------------------------------------------- /blue-shark/assets/fonts/lato/Lato-Regular-27bd77b9162d388cb8d4c4217c7c5e2a.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/assets/fonts/lato/Lato-Regular-27bd77b9162d388cb8d4c4217c7c5e2a.woff -------------------------------------------------------------------------------- /blue-shark/assets/fonts/lato/Lato-Regular-bd03a2cc277bbbc338d464e679fe9942.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/assets/fonts/lato/Lato-Regular-bd03a2cc277bbbc338d464e679fe9942.woff2 -------------------------------------------------------------------------------- /blue-shark/assets/icons/apple-touch-icon-120x120-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/assets/icons/apple-touch-icon-120x120-precomposed.png -------------------------------------------------------------------------------- /blue-shark/assets/icons/apple-touch-icon-152x152-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/assets/icons/apple-touch-icon-152x152-precomposed.png -------------------------------------------------------------------------------- /blue-shark/assets/icons/apple-touch-icon-76x76-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/assets/icons/apple-touch-icon-76x76-precomposed.png -------------------------------------------------------------------------------- /blue-shark/assets/icons/apple-touch-icon-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/assets/icons/apple-touch-icon-precomposed.png -------------------------------------------------------------------------------- /blue-shark/assets/icons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/assets/icons/apple-touch-icon.png -------------------------------------------------------------------------------- /blue-shark/core/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/core/.npmignore -------------------------------------------------------------------------------- /blue-shark/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/favicon.ico -------------------------------------------------------------------------------- /blue-shark/test/all.js: -------------------------------------------------------------------------------- 1 | require("montage-testing").run(require,[ 2 | // Please keep in alphabetical order 3 | 4 | ]); -------------------------------------------------------------------------------- /blue-shark/ui/button.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /blue-shark/ui/button.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/button.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/button.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/checkbox.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/checkbox.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/checkbox.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/checkbox.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/color-palette.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/confirmation-modal.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/confirmation-modal.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/confirmation-modal.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/date.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/date.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/date.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/datetime.reel/_datetime.css: -------------------------------------------------------------------------------- 1 | .Datetime > :not(:last-child) { 2 | margin-bottom: .25em; 3 | } 4 | -------------------------------------------------------------------------------- /blue-shark/ui/datetime.reel/datetime.css: -------------------------------------------------------------------------------- 1 | .Datetime>:not(:last-child){margin-bottom:.25em} -------------------------------------------------------------------------------- /blue-shark/ui/duration.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/duration.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/duration.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/duration.reel/_duration.css: -------------------------------------------------------------------------------- 1 | .Duration { display: flex; } 2 | 3 | .Duration-count { margin-right: .5rem; } 4 | 5 | .Duration-unit { min-width: 8rem; } 6 | -------------------------------------------------------------------------------- /blue-shark/ui/duration.reel/duration.css: -------------------------------------------------------------------------------- 1 | .Duration{display:-webkit-box;display:-ms-flexbox;display:flex}.Duration-count{margin-right:8px;margin-right:.5rem}.Duration-unit{min-width:128px;min-width:8rem} -------------------------------------------------------------------------------- /blue-shark/ui/field-checkbox.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-checkbox.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-checkbox.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/field-checkbox.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/field-checkbox.reel/_field-checkbox.css: -------------------------------------------------------------------------------- 1 | .FieldCheckbox .Field { 2 | margin-bottom: 1em; 3 | } 4 | 5 | .FieldCheckbox .Checkbox { 6 | /* margin-top: 0.3em; */ 7 | } 8 | -------------------------------------------------------------------------------- /blue-shark/ui/field-checkbox.reel/field-checkbox.css: -------------------------------------------------------------------------------- 1 | .FieldCheckbox .Field{margin-bottom:1em} -------------------------------------------------------------------------------- /blue-shark/ui/field-date.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-date.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-date.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/field-date.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/field-date.reel/_field-date.css: -------------------------------------------------------------------------------- 1 | .FieldDate { 2 | 3 | } 4 | 5 | /* disabled state on input */ 6 | .FieldDate .disabled input[type="date"] { 7 | opacity: .5; 8 | } 9 | -------------------------------------------------------------------------------- /blue-shark/ui/field-date.reel/field-date.css: -------------------------------------------------------------------------------- 1 | .FieldDate .disabled input[type=date]{opacity:.5} -------------------------------------------------------------------------------- /blue-shark/ui/field-date.reel/field-date.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/field-date.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class FieldDate 8 | * @extends Component 9 | */ 10 | exports.FieldDate = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/field-datetime.reel/_field-datetime.css: -------------------------------------------------------------------------------- 1 | .FieldDatetime { 2 | 3 | } 4 | 5 | /* disabled state on input */ 6 | .FieldDatetime .disabled input[type="datetime"] { 7 | opacity: .5; 8 | } 9 | -------------------------------------------------------------------------------- /blue-shark/ui/field-datetime.reel/field-datetime.css: -------------------------------------------------------------------------------- 1 | .FieldDatetime .disabled input[type=datetime]{opacity:.5} -------------------------------------------------------------------------------- /blue-shark/ui/field-datetime.reel/field-datetime.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.FieldDatetime = Component.specialize(); 4 | -------------------------------------------------------------------------------- /blue-shark/ui/field-duration.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-duration.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-duration.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/field-duration.reel/_field-duration.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-duration.reel/_field-duration.css -------------------------------------------------------------------------------- /blue-shark/ui/field-duration.reel/field-duration.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-duration.reel/field-duration.css -------------------------------------------------------------------------------- /blue-shark/ui/field-file-input.reel/_field-file-input.css: -------------------------------------------------------------------------------- 1 | .FieldFileInput { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /blue-shark/ui/field-file-input.reel/field-file-input.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-file-input.reel/field-file-input.css -------------------------------------------------------------------------------- /blue-shark/ui/field-file-input.reel/field-file-input.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.FieldFileInput = Component.specialize(); 4 | -------------------------------------------------------------------------------- /blue-shark/ui/field-file-input.reel/field-file-reader.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-file-input.reel/field-file-reader.css -------------------------------------------------------------------------------- /blue-shark/ui/field-file-reader.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-file-reader.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-file-reader.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/field-file-reader.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/field-file-reader.reel/_field-file-reader.css: -------------------------------------------------------------------------------- 1 | .FieldFileReader { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /blue-shark/ui/field-file-reader.reel/field-file-reader.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-file-reader.reel/field-file-reader.css -------------------------------------------------------------------------------- /blue-shark/ui/field-file-reader.reel/field-file-reader.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.FieldFileReader = Component.specialize(); 4 | -------------------------------------------------------------------------------- /blue-shark/ui/field-multiple-select.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-multiple-select.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-multiple-select.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/field-multiple-select.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/field-multiple-select.reel/_field-multiple-select.css: -------------------------------------------------------------------------------- 1 | .FieldMultipleSelect { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-multiple-select.reel/field-multiple-select.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-multiple-select.reel/field-multiple-select.css -------------------------------------------------------------------------------- /blue-shark/ui/field-number-unit.reel/_field-number-unit.css: -------------------------------------------------------------------------------- 1 | .FieldNumberUnit { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /blue-shark/ui/field-number-unit.reel/field-number-unit.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-number-unit.reel/field-number-unit.css -------------------------------------------------------------------------------- /blue-shark/ui/field-number-unit.reel/field-number-unit.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.FieldNumberUnit = Component.specialize(); 4 | -------------------------------------------------------------------------------- /blue-shark/ui/field-password.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-password.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-password.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/field-password.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/field-radio-group.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-radio-group.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-radio-group.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/field-radio-group.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/field-radio-group.reel/_field-radio-group.css: -------------------------------------------------------------------------------- 1 | .FieldRadioGroup { 2 | 3 | & .RadioButtonFieldGroup { 4 | margin-top: -.2em; 5 | } 6 | 7 | &.FieldRadioGroup--block .RadioButtonFieldGroup { 8 | margin-top: 0.35em; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /blue-shark/ui/field-radio-group.reel/field-radio-group.css: -------------------------------------------------------------------------------- 1 | .FieldRadioGroup .RadioButtonFieldGroup{margin-top:-.2em}.FieldRadioGroup.FieldRadioGroup--block .RadioButtonFieldGroup{margin-top:.35em} -------------------------------------------------------------------------------- /blue-shark/ui/field-scrollable-list.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-scrollable-list.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-scrollable-list.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/field-scrollable-list.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class Main 5 | * @extends Component 6 | */ 7 | exports.Main = Component.specialize(); 8 | -------------------------------------------------------------------------------- /blue-shark/ui/field-scrollable-list.reel/_field-scrollable-list.css: -------------------------------------------------------------------------------- 1 | .FieldScrollableList {} 2 | -------------------------------------------------------------------------------- /blue-shark/ui/field-scrollable-list.reel/field-scrollable-list.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-scrollable-list.reel/field-scrollable-list.css -------------------------------------------------------------------------------- /blue-shark/ui/field-search-multiple.reel/field-search-multiple.css: -------------------------------------------------------------------------------- 1 | .FieldSearchMultiple { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-search.reel/field-search.css: -------------------------------------------------------------------------------- 1 | .FieldSearch { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-select-multiple.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-select-multiple.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-select-multiple.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/field-select-multiple.reel/_field-select-multiple.css: -------------------------------------------------------------------------------- 1 | .FieldSelectMultiple { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-select-multiple.reel/field-select-multiple.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-select-multiple.reel/field-select-multiple.css -------------------------------------------------------------------------------- /blue-shark/ui/field-select.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-select.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-select.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/field-select.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/field-select.reel/_field-select.css: -------------------------------------------------------------------------------- 1 | .FieldSelect .control { 2 | min-width: var(--input-min-width); 3 | } 4 | -------------------------------------------------------------------------------- /blue-shark/ui/field-select.reel/field-select.css: -------------------------------------------------------------------------------- 1 | .FieldSelect .control{min-width:160px;min-width:10rem} -------------------------------------------------------------------------------- /blue-shark/ui/field-text-area.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-text-area.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-text-area.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/field-text-area.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/field-text-area.reel/_field-text-area.css: -------------------------------------------------------------------------------- 1 | .FieldTextArea { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-text-area.reel/field-text-area.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-text-area.reel/field-text-area.css -------------------------------------------------------------------------------- /blue-shark/ui/field-text-input.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-text-input.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-text-input.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/field-text-input.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/field-text-input.reel/_field-text-input.css: -------------------------------------------------------------------------------- 1 | .FieldTextInput .control { 2 | min-width: var(--input-min-width); 3 | } 4 | -------------------------------------------------------------------------------- /blue-shark/ui/field-text-input.reel/field-text-input.css: -------------------------------------------------------------------------------- 1 | .FieldTextInput .control{min-width:160px;min-width:10rem} -------------------------------------------------------------------------------- /blue-shark/ui/field-text.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-text.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-text.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/field-text.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/field-text.reel/field-text.css: -------------------------------------------------------------------------------- 1 | .FieldText .Field{min-height:auto}.FieldText .Field-title{padding-top:0}.FieldText .control{color:#fff;max-width:320px;max-width:20rem;word-wrap:break-word} -------------------------------------------------------------------------------- /blue-shark/ui/field-text.reel/field-text.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/field-text.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class FieldText 8 | * @extends Component 9 | */ 10 | exports.FieldText = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/field-time.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-time.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-time.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/field-time.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/field-time.reel/_field-time.css: -------------------------------------------------------------------------------- 1 | .FieldTime { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-time.reel/field-time.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-time.reel/field-time.css -------------------------------------------------------------------------------- /blue-shark/ui/field-toggle-switch.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field-toggle-switch.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field-toggle-switch.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/field-toggle-switch.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/field-toggle-switch.reel/_field-toggle-switch.css: -------------------------------------------------------------------------------- 1 | /* centering adjustment */ 2 | 3 | .FieldToggleSwitch .ToggleSwitch { 4 | margin-top: 0.2em; 5 | } 6 | -------------------------------------------------------------------------------- /blue-shark/ui/field-toggle-switch.reel/field-toggle-switch.css: -------------------------------------------------------------------------------- 1 | .FieldToggleSwitch .ToggleSwitch{margin-top:.2em} -------------------------------------------------------------------------------- /blue-shark/ui/field.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/field.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/field.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/field.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/file-input.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/file-input.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/file-input.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/file-input.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/file-reader.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/file-reader.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/file-reader.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/file-reader.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/icons.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/icons.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/icons.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/icons.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/icons.reel/_icons.css: -------------------------------------------------------------------------------- 1 | .Icons { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/icons.reel/icons.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/icons.reel/icons.css -------------------------------------------------------------------------------- /blue-shark/ui/icons.reel/icons.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/icons.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Icons 8 | * @extends Component 9 | */ 10 | exports.Icons = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/input-search.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/input-search.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/input-search.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/input-search.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/loading-message.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/loading-message.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/loading-message.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/modal.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/modal.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/modal.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/multiple-select-grid.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/multiple-select-grid.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/multiple-select-grid.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/multiple-select.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/multiple-select.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/multiple-select.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/multiple-select.reel/multiple-select-option.reel/multiple-select-option.css: -------------------------------------------------------------------------------- 1 | .MultipleSelectOption{cursor:pointer;padding:.25em .5em .35em;font-family:lato;font-weight:200}.MultipleSelectOption.selected{background:#2089d3;color:#fff} -------------------------------------------------------------------------------- /blue-shark/ui/number-input.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/number-input.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/number-input.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/panel.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/panel.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/panel.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/panel.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/password.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/password.info/sample/ui/main.reel/_main.css -------------------------------------------------------------------------------- /blue-shark/ui/password.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/password.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/password.reel/_password.css: -------------------------------------------------------------------------------- 1 | .Password { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/password.reel/password.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/password.reel/password.css -------------------------------------------------------------------------------- /blue-shark/ui/progress.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/progress.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/progress.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/radio-button-field-group.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/radio-button-field-group.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/radio-button-field-group.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/radio-button-field-group.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class Main 5 | * @extends Component 6 | */ 7 | exports.Main = Component.specialize(); 8 | -------------------------------------------------------------------------------- /blue-shark/ui/scrollable-list.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/scrollable-list.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/scrollable-list.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/scrollable-list.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class Main 5 | * @extends Component 6 | */ 7 | exports.Main = Component.specialize(); 8 | -------------------------------------------------------------------------------- /blue-shark/ui/scroller.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | & .default { 3 | height: 30rem; 4 | outline: 1px solid red; 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /blue-shark/ui/scroller.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- 1 | .Main .default{height:480px;height:30rem;outline:1px solid red} -------------------------------------------------------------------------------- /blue-shark/ui/scroller.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class Main 5 | * @extends Component 6 | */ 7 | exports.Main = Component.specialize(); 8 | -------------------------------------------------------------------------------- /blue-shark/ui/scroller.reel/_scroller.css: -------------------------------------------------------------------------------- 1 | .Scroller { 2 | flex: 1; 3 | overflow: auto; 4 | } 5 | -------------------------------------------------------------------------------- /blue-shark/ui/scroller.reel/scroller.css: -------------------------------------------------------------------------------- 1 | .Scroller{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto} -------------------------------------------------------------------------------- /blue-shark/ui/scroller.reel/scroller.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/scroller.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Scroller 8 | * @extends Component 9 | */ 10 | exports.Scroller = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/search-multiple.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/search-multiple.reel/search-multiple.css: -------------------------------------------------------------------------------- 1 | .SearchMultiple { 2 | 3 | } 4 | 5 | .SearchMultiple .MultipleSelect-title, 6 | .SearchMultiple .MultipleSelect-input-controls { 7 | display: none; 8 | } 9 | -------------------------------------------------------------------------------- /blue-shark/ui/search.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | /* Setup code */ 2 | 3 | body, 4 | html { 5 | height: 100%; 6 | } 7 | 8 | body { 9 | display: flex; 10 | flex-direction: column; 11 | } 12 | 13 | .Main { 14 | flex: 1; 15 | @apply --flex-column; 16 | } 17 | -------------------------------------------------------------------------------- /blue-shark/ui/search.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/select-filter.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /blue-shark/ui/select-filter.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/select-filter.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/select-filter.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/select-multiple.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/select-multiple.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/select-multiple.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/select-search.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/select-search.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/select-search.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/select-search.reel/select-search-option.reel/select-search-option.css: -------------------------------------------------------------------------------- 1 | .SelectSearchOption{cursor:pointer;padding:.25em .5em .35em;font-family:lato;font-weight:200}.SelectSearchOption.selected{background:#2089d3;color:#fff} -------------------------------------------------------------------------------- /blue-shark/ui/select.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } 4 | 5 | h3 { 6 | /* margin-bottom: 20em; */ 7 | } 8 | 9 | .scrollView-container { 10 | display: flex; 11 | position: relative; 12 | min-width: 15em; 13 | outline: 1px solid red; 14 | } 15 | -------------------------------------------------------------------------------- /blue-shark/ui/select.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- 1 | .scrollView-container{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;min-width:15em;outline:1px solid red} -------------------------------------------------------------------------------- /blue-shark/ui/sink.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main {} 2 | 3 | .scrollContainer { 4 | display: flex; 5 | flex-direction: column; 6 | height: 300px; 7 | width: 300px; 8 | } 9 | -------------------------------------------------------------------------------- /blue-shark/ui/sink.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- 1 | .scrollContainer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:300px;width:300px} -------------------------------------------------------------------------------- /blue-shark/ui/sink.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/spinner.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.Main = Component.specialize(); 4 | -------------------------------------------------------------------------------- /blue-shark/ui/spinner.reel/spinner.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.Spinner = Component.specialize(); 4 | -------------------------------------------------------------------------------- /blue-shark/ui/tables/table-editable.info/sample/ui/table-new-row.reel/table-new-row.css: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /blue-shark/ui/tables/table-read-only.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/tables/table-read-only.info/sample/ui/main.reel/_main.css -------------------------------------------------------------------------------- /blue-shark/ui/tables/table-read-only.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/tables/table-read-only.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/tabs.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/tabs.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/tabs.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/text-area.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/text-area.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/text-area.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/text-area.reel/_text-area.css: -------------------------------------------------------------------------------- 1 | .TextArea { 2 | @apply --input-field; 3 | font-size: 100%; 4 | height: 5em; 5 | padding: 0.25em .5em; 6 | resize: vertical; 7 | -webkit-tap-highlight-color: transparent; 8 | } 9 | -------------------------------------------------------------------------------- /blue-shark/ui/text-area.reel/text-area.js: -------------------------------------------------------------------------------- 1 | var AbstractTextArea = require("montage/ui/base/abstract-text-area").AbstractTextArea; 2 | 3 | exports.TextArea = AbstractTextArea.specialize({ 4 | hasTemplate: { 5 | value: true 6 | } 7 | }); 8 | -------------------------------------------------------------------------------- /blue-shark/ui/text-field.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/text-field.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/text-field.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/text-field.reel/_text-field.css: -------------------------------------------------------------------------------- 1 | .TextField { 2 | 3 | @apply --input-field; 4 | 5 | line-height: 2rem; 6 | height: 2rem; 7 | padding: 0 .25rem .1rem .5rem; 8 | 9 | } 10 | 11 | -------------------------------------------------------------------------------- /blue-shark/ui/text-input-edit.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/text-input-edit.info/sample/ui/main.reel/_main.css -------------------------------------------------------------------------------- /blue-shark/ui/text-input-edit.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/text-input-edit.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/text-input-edit.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/main.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Main 8 | * @extends Component 9 | */ 10 | exports.Main = Component.specialize(); 11 | -------------------------------------------------------------------------------- /blue-shark/ui/theme.css: -------------------------------------------------------------------------------- 1 | :root { 2 | /* --red: #F02; */ 3 | } 4 | -------------------------------------------------------------------------------- /blue-shark/ui/time.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/time.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/time.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/toggle-switch.info/sample/ui/main.reel/_main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | 3 | } -------------------------------------------------------------------------------- /blue-shark/ui/toggle-switch.info/sample/ui/main.reel/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/blue-shark/ui/toggle-switch.info/sample/ui/main.reel/main.css -------------------------------------------------------------------------------- /blue-shark/ui/toggle-switch.reel/toggle-switch.js: -------------------------------------------------------------------------------- 1 | var AbstractToggleSwitch = require("montage/ui/base/abstract-toggle-switch").AbstractToggleSwitch; 2 | 3 | exports.ToggleSwitch = AbstractToggleSwitch.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/custom-descriptors/account-system.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "AccountSystem" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /core/model/custom-descriptors/calendar-customSchedule.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "CalendarCustomSchedule" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /core/model/custom-descriptors/calendar.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "Calendar", 6 | "propertyBlueprints": [ 7 | ] 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /core/model/custom-descriptors/directory-services.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "DirectoryServices" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /core/model/custom-descriptors/docker-container-creator.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "DockerContainerCreator" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /core/model/custom-descriptors/docker-container-logs.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "DockerContainerLogs" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /core/model/custom-descriptors/docker-container-section.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "DockerContainerSection" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /core/model/custom-descriptors/docker-image-pull.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "DockerImagePull" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /core/model/custom-descriptors/encrypted-volume-actions.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "EncryptedVolumeActions" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /core/model/custom-descriptors/scrub.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "Scrub" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /core/model/descriptors/alert-class.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "AlertClass" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/backup-providers.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "BackupProviders" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/disk-status-controller-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "DiskStatusControllerAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/disk-status-multipath-anonymous-members-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "DiskStatusMultipathAnonymousMembersAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/disks-allocation.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "DisksAllocation" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/mail-message-extra-headers-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "MailMessageExtraHeadersAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/neighbor-properties-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "NeighborPropertiesAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/share-client-extra-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "ShareClientExtraAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/share-smb-extra-parameters-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "ShareSmbExtraParametersAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/share-types.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "ShareTypes" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/smart-info-diagnostics-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "SmartInfoDiagnosticsAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/task-args-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "TaskArgsAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/update-info-notes-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "UpdateInfoNotesAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/user-attributes-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "UserAttributesAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/vm-device-usb-config-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "VmDeviceUsbConfigAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/vm-guest-info-interfaces-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "VmGuestInfoInterfacesAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/volume-attributes-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "VolumeAttributesAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/volume-snapshot-holds-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "VolumeSnapshotHoldsAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/zfs-dataset-properties-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "ZfsDatasetPropertiesAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/zfs-snapshot-holds-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "ZfsSnapshotHoldsAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/zfs-snapshot-properties-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "ZfsSnapshotPropertiesAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/descriptors/zfs-vdev-stats-anonymous.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "core/model/model-descriptor", 4 | "properties": { 5 | "name": "ZfsVdevStatsAnonymous" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /core/model/enumerations/acl-entry-tag.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.AclEntryTag = new Enum().initWithMembersAndValues(["EVERYONE","GROUP","GROUP_OBJ","MASK","OTHER","USER","USER_OBJ"], ["EVERYONE","GROUP","GROUP_OBJ","MASK","OTHER","USER","USER_OBJ"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/acl-entry-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.AclEntryType = new Enum().initWithMembersAndValues(["ALLOW","DENY"], ["ALLOW","DENY"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/alert-severity.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.AlertSeverity = new Enum().initWithMembersAndValues(["CRITICAL","INFO","WARNING"], ["CRITICAL","INFO","WARNING"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/alert-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.AlertType = new Enum().initWithMembersAndValues(["DISK","SYSTEM","VOLUME"], ["DISK","SYSTEM","VOLUME"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/backup-compression-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.BackupCompressionType = new Enum().initWithMembersAndValues(["GZIP","NONE"], ["GZIP","NONE"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/compress-plugin-level.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.CompressPluginLevel = new Enum().initWithMembersAndValues(["BEST","DEFAULT","FAST"], ["BEST","DEFAULT","FAST"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/crypto-certificate-digestalgorithm.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.CryptoCertificateDigestalgorithm = new Enum().initWithMembersAndValues(["SHA1","SHA224","SHA256","SHA384","SHA512"], ["SHA1","SHA224","SHA256","SHA384","SHA512"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/dataset-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.DatasetType = new Enum().initWithMembersAndValues(["BOOKMARK","FILESYSTEM","SNAPSHOT","VOLUME"], ["BOOKMARK","FILESYSTEM","SNAPSHOT","VOLUME"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/disk-acousticlevel.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.DiskAcousticlevel = new Enum().initWithMembersAndValues(["DISABLED","MAXIMUM","MEDIUM","MINIMUM"], ["DISABLED","MAXIMUM","MEDIUM","MINIMUM"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/disk-erase-method.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.DiskEraseMethod = new Enum().initWithMembersAndValues(["QUICK","RANDOM","ZEROS"], ["QUICK","RANDOM","ZEROS"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/disk-selftest-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.DiskSelftestType = new Enum().initWithMembersAndValues(["CONVEYANCE","LONG","OFFLINE","SHORT"], ["CONVEYANCE","LONG","OFFLINE","SHORT"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/disks-allocation-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.DisksAllocationType = new Enum().initWithMembersAndValues(["BOOT","EXPORTED_VOLUME","ISCSI","VOLUME"], ["BOOT","EXPORTED_VOLUME","ISCSI","VOLUME"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/docker-host-state.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.DockerHostState = new Enum().initWithMembersAndValues(["DOWN","UP"], ["DOWN","UP"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/docker-port-protocol.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.DockerPortProtocol = new Enum().initWithMembersAndValues(["TCP","UDP"], ["TCP","UDP"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/docker-volume-host-path-source.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.DockerVolumeHostPathSource = new Enum().initWithMembersAndValues(["HOST","VM"], ["HOST","VM"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/enclosure-status.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.EnclosureStatus = new Enum().initWithMembersAndValues(["CRITICAL","INFO","INVOP","NONCRITICAL","OK","UNRECOV"], ["CRITICAL","INFO","INVOP","NONCRITICAL","OK","UNRECOV"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/encrypt-plugin-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.EncryptPluginType = new Enum().initWithMembersAndValues(["AES128","AES192","AES256"], ["AES128","AES192","AES256"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/ldap-directory-params-encryption.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.LdapDirectoryParamsEncryption = new Enum().initWithMembersAndValues(["OFF","SSL","TLS"], ["OFF","SSL","TLS"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/mail-encryption-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.MailEncryptionType = new Enum().initWithMembersAndValues(["PLAIN","SSL","TLS"], ["PLAIN","SSL","TLS"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/neighbor-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.NeighborType = new Enum().initWithMembersAndValues(["freenas","ssh"], ["freenas","ssh"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/network-interface-alias-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.NetworkInterfaceAliasType = new Enum().initWithMembersAndValues(["INET","INET6"], ["INET","INET6"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/network-interface-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.NetworkInterfaceType = new Enum().initWithMembersAndValues(["BRIDGE","ETHER","LAGG","LOOPBACK","VLAN"], ["BRIDGE","ETHER","LAGG","LOOPBACK","VLAN"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/network-route-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.NetworkRouteType = new Enum().initWithMembersAndValues(["INET","INET6"], ["INET","INET6"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/power-changed-operation.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.PowerChangedOperation = new Enum().initWithMembersAndValues(["REBOOT","SHUTDOWN"], ["REBOOT","SHUTDOWN"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/rsync-copy-rsyncdirection.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.RsyncCopyRsyncdirection = new Enum().initWithMembersAndValues(["PULL","PUSH"], ["PULL","PUSH"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/rsync-copy-rsyncmode.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.RsyncCopyRsyncmode = new Enum().initWithMembersAndValues(["MODULE","SSH"], ["MODULE","SSH"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/rsyncd-module-mode.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.RsyncdModuleMode = new Enum().initWithMembersAndValues(["READONLY","READWRITE","WRITEONLY"], ["READONLY","READWRITE","WRITEONLY"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/service-smartd-powermode.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ServiceSmartdPowermode = new Enum().initWithMembersAndValues(["IDLE","NEVER","SLEEP","STANDBY"], ["IDLE","NEVER","SLEEP","STANDBY"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/service-smb-loglevel.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ServiceSmbLoglevel = new Enum().initWithMembersAndValues(["DEBUG","FULL","MINIMUM","NONE","NORMAL"], ["DEBUG","FULL","MINIMUM","NONE","NORMAL"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/service-snmp-v3authtype.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ServiceSnmpV3authtype = new Enum().initWithMembersAndValues(["MD5","SHA"], ["MD5","SHA"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/service-snmp-v3privacyprotocol.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ServiceSnmpV3privacyprotocol = new Enum().initWithMembersAndValues(["AES","DES"], ["AES","DES"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/service-state.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ServiceState = new Enum().initWithMembersAndValues(["RUNNING","STOPPED","UNKNOWN"], ["RUNNING","STOPPED","UNKNOWN"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/service-ups-mode.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ServiceUpsMode = new Enum().initWithMembersAndValues(["MASTER","SLAVE"], ["MASTER","SLAVE"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/service-ups-shutdownmode.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ServiceUpsShutdownmode = new Enum().initWithMembersAndValues(["BATT","LOWBATT"], ["BATT","LOWBATT"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/service-webdav-authentication.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ServiceWebdavAuthentication = new Enum().initWithMembersAndValues(["BASIC","DIGEST"], ["BASIC","DIGEST"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/service-webdav-protocol-items.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ServiceWebdavProtocolItems = new Enum().initWithMembersAndValues(["HTTP","HTTPS"], ["HTTP","HTTPS"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/share-iscsi-auth-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ShareIscsiAuthType = new Enum().initWithMembersAndValues(["CHAP","CHAP_MUTUAL","DENY","NONE"], ["CHAP","CHAP_MUTUAL","DENY","NONE"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/share-iscsi-blocksize.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ShareIscsiBlocksize = new Enum().initWithMembersAndValues([1024,2048,4096,512], [1024,2048,4096,512]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/share-iscsi-rpm.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ShareIscsiRpm = new Enum().initWithMembersAndValues(["10000","15000","5400","7200","SSD","UNKNOWN"], ["10000","15000","5400","7200","SSD","UNKNOWN"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/share-nfs-security-items.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ShareNfsSecurityItems = new Enum().initWithMembersAndValues(["krb5","krb5i","krb5p","sys"], ["krb5","krb5i","krb5p","sys"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/share-targettype.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ShareTargettype = new Enum().initWithMembersAndValues(["DATASET","DIRECTORY","FILE","ZVOL"], ["DATASET","DIRECTORY","FILE","ZVOL"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/share-types-permtype.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ShareTypesPermtype = new Enum().initWithMembersAndValues(["ACL","PERM"], ["ACL","PERM"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/share-types-subtype.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ShareTypesSubtype = new Enum().initWithMembersAndValues(["BLOCK","FILE"], ["BLOCK","FILE"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/simulator-disk-rpm.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.SimulatorDiskRpm = new Enum().initWithMembersAndValues(["10000","15000","5400","7200","SSD","UNKNOWN"], ["10000","15000","5400","7200","SSD","UNKNOWN"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/snapshot-info-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.SnapshotInfoType = new Enum().initWithMembersAndValues(["FILESYSTEM","VOLUME"], ["FILESYSTEM","VOLUME"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/system-ui-webuiprotocol-items.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.SystemUiWebuiprotocolItems = new Enum().initWithMembersAndValues(["HTTP","HTTPS"], ["HTTP","HTTPS"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/tunable-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.TunableType = new Enum().initWithMembersAndValues(["LOADER","RC","SYSCTL"], ["LOADER","RC","SYSCTL"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/update-ops-operation.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.UpdateOpsOperation = new Enum().initWithMembersAndValues(["delete","install","upgrade"], ["delete","install","upgrade"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/update-progress-operation.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.UpdateProgressOperation = new Enum().initWithMembersAndValues(["DOWNLOADING","INSTALLING"], ["DOWNLOADING","INSTALLING"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/vm-config-bootloader.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VmConfigBootloader = new Enum().initWithMembersAndValues(["BHYVELOAD","GRUB","UEFI","UEFI_CSM"], ["BHYVELOAD","GRUB","UEFI","UEFI_CSM"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/vm-datastore-nfs-version.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VmDatastoreNfsVersion = new Enum().initWithMembersAndValues(["NFSV3","NFSV4"], ["NFSV3","NFSV4"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/vm-datastore-state.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VmDatastoreState = new Enum().initWithMembersAndValues(["OFFLINE","ONLINE"], ["OFFLINE","ONLINE"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/vm-device-disk-mode.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VmDeviceDiskMode = new Enum().initWithMembersAndValues(["AHCI","VIRTIO"], ["AHCI","VIRTIO"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/vm-device-disk-target-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VmDeviceDiskTargetType = new Enum().initWithMembersAndValues(["FILE","BLOCK", "DISK"], ["FILE","BLOCK", "DISK"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/vm-device-nic-device.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VmDeviceNicDevice = new Enum().initWithMembersAndValues(["E1000","NE2K","VIRTIO"], ["E1000","NE2K","VIRTIO"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/vm-device-nic-mode.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VmDeviceNicMode = new Enum().initWithMembersAndValues(["BRIDGED","HOSTONLY","MANAGEMENT","NAT"], ["BRIDGED","HOSTONLY","MANAGEMENT","NAT"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/vm-device-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VmDeviceType = new Enum().initWithMembersAndValues(["CDROM","DISK","GRAPHICS","NIC","USB","VOLUME"], ["CDROM","DISK","GRAPHICS","NIC","USB","VOLUME"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/vm-device-usb-device.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VmDeviceUsbDevice = new Enum().initWithMembersAndValues(["tablet"], ["tablet"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/vm-device-volume-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VmDeviceVolumeType = new Enum().initWithMembersAndValues(["NFS","VT9P"], ["NFS","VT9P"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/vm-status-health.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VmStatusHealth = new Enum().initWithMembersAndValues(["DEAD","DYING","HEALTHY","UNKNOWN"], ["DEAD","DYING","HEALTHY","UNKNOWN"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/vm-status-state.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VmStatusState = new Enum().initWithMembersAndValues(["BOOTLOADER","RUNNING","STOPPED"], ["BOOTLOADER","RUNNING","STOPPED"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/vmware-dataset-filter-op.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VmwareDatasetFilterOp = new Enum().initWithMembersAndValues(["EXCLUDE","INCLUDE","NONE"], ["EXCLUDE","INCLUDE","NONE"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/volume-dataset-permissionstype.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VolumeDatasetPermissionstype = new Enum().initWithMembersAndValues(["ACL","PERM"], ["ACL","PERM"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/volume-dataset-property-casesensitivity-value.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VolumeDatasetPropertyCasesensitivityValue = new Enum().initWithMembersAndValues(["insensitive","mixed","sensitive"], ["insensitive","mixed","sensitive"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/volume-dataset-property-dedup-value.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VolumeDatasetPropertyDedupValue = new Enum().initWithMembersAndValues(["off","on","verify"], ["off","on","verify"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/volume-dataset-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VolumeDatasetType = new Enum().initWithMembersAndValues(["FILESYSTEM","VOLUME"], ["FILESYSTEM","VOLUME"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/volume-property-failmode-value.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VolumePropertyFailmodeValue = new Enum().initWithMembersAndValues(["continue","panic","wait"], ["continue","panic","wait"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/volume-property-source.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VolumePropertySource = new Enum().initWithMembersAndValues(["DEFAULT","INHERITED","LOCAL","NONE"], ["DEFAULT","INHERITED","LOCAL","NONE"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/volume-providerspresence.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VolumeProviderspresence = new Enum().initWithMembersAndValues(["ALL","NONE","PART"], ["ALL","NONE","PART"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/volume-status.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.VolumeStatus = new Enum().initWithMembersAndValues(["LOCKED","ONLINE","UNAVAIL","UNKNOWN"], ["LOCKED","ONLINE","UNAVAIL","UNKNOWN"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/zfs-pool-status.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ZfsPoolStatus = new Enum().initWithMembersAndValues(["DEGRADED","FAULTED","OFFLINE","ONLINE","REMOVED","UNAVAIL"], ["DEGRADED","FAULTED","OFFLINE","ONLINE","REMOVED","UNAVAIL"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/zfs-property-source.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ZfsPropertySource = new Enum().initWithMembersAndValues(["DEFAULT","INHERITED","LOCAL","NONE","RECEIVED"], ["DEFAULT","INHERITED","LOCAL","NONE","RECEIVED"]); 4 | -------------------------------------------------------------------------------- /core/model/enumerations/zfs-vdev-type.js: -------------------------------------------------------------------------------- 1 | var Enum = require("montage/core/enum").Enum; 2 | 3 | exports.ZfsVdevType = new Enum().initWithMembersAndValues(["disk","file","mirror","raidz1","raidz2","raidz3"], ["disk","file","mirror","raidz1","raidz2","raidz3"]); 4 | -------------------------------------------------------------------------------- /core/model/models/alert-class.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.AlertClass = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/backup-providers.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.BackupProviders = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/disk-status-controller-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.DiskStatusControllerAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/disk-status-multipath-anonymous-members-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.DiskStatusMultipathAnonymousMembersAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/disks-allocation.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.DisksAllocation = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/mail-message-extra-headers-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.MailMessageExtraHeadersAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/neighbor-properties-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.NeighborPropertiesAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/share-client-extra-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.ShareClientExtraAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/share-smb-extra-parameters-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.ShareSmbExtraParametersAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/share-types.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.ShareTypes = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/smart-info-diagnostics-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.SmartInfoDiagnosticsAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/task-args-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.TaskArgsAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/update-info-notes-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.UpdateInfoNotesAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/user-attributes-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.UserAttributesAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/vm-device-usb-config-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.VmDeviceUsbConfigAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/vm-guest-info-interfaces-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.VmGuestInfoInterfacesAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/volume-attributes-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.VolumeAttributesAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/volume-snapshot-holds-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.VolumeSnapshotHoldsAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/zfs-dataset-properties-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.ZfsDatasetPropertiesAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/zfs-snapshot-holds-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.ZfsSnapshotHoldsAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/zfs-snapshot-properties-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.ZfsSnapshotPropertiesAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/models/zfs-vdev-stats-anonymous.js: -------------------------------------------------------------------------------- 1 | var Montage = require("montage").Montage; 2 | 3 | exports.ZfsVdevStatsAnonymous = Montage.specialize(); 4 | -------------------------------------------------------------------------------- /core/model/user-interface-descriptors/account-category-user-interface-descriptor.mjson: -------------------------------------------------------------------------------- 1 | { 2 | "root": { 3 | "prototype": "montage/core/meta/user-interface-descriptor", 4 | "properties": { 5 | "collectionNameExpression": "'Accounts'" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/favicon.ico -------------------------------------------------------------------------------- /nas_ports/freenas/freenas-10gui/pkg-descr: -------------------------------------------------------------------------------- 1 | User interface for FreeNAS. 2 | 3 | -------------------------------------------------------------------------------- /rollbar_runtime_config.js: -------------------------------------------------------------------------------- 1 | window._FREENAS_ENVIRONMENT = 'development'; 2 | window._FREENAS_GIT_SHA = 'master'; -------------------------------------------------------------------------------- /serial-console-app/.npmignore: -------------------------------------------------------------------------------- 1 | .idea 2 | node_modules 3 | .DS_Store -------------------------------------------------------------------------------- /serial-console-app/LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/serial-console-app/LICENSE.md -------------------------------------------------------------------------------- /serial-console-app/assets/icons/apple-touch-icon-120x120-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/serial-console-app/assets/icons/apple-touch-icon-120x120-precomposed.png -------------------------------------------------------------------------------- /serial-console-app/assets/icons/apple-touch-icon-152x152-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/serial-console-app/assets/icons/apple-touch-icon-152x152-precomposed.png -------------------------------------------------------------------------------- /serial-console-app/assets/icons/apple-touch-icon-76x76-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/serial-console-app/assets/icons/apple-touch-icon-76x76-precomposed.png -------------------------------------------------------------------------------- /serial-console-app/assets/icons/apple-touch-icon-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/serial-console-app/assets/icons/apple-touch-icon-precomposed.png -------------------------------------------------------------------------------- /serial-console-app/assets/icons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/serial-console-app/assets/icons/apple-touch-icon.png -------------------------------------------------------------------------------- /serial-console-app/core/backend/websocket-response.js: -------------------------------------------------------------------------------- 1 | exports.WebSocketResponse = function WebSocketResponse (rawResponse) { 2 | this.data = rawResponse.args; 3 | this.timestamp = !isNaN(rawResponse.timestamp) ? rawResponse.timestamp * 1000 : 0; 4 | }; 5 | -------------------------------------------------------------------------------- /serial-console-app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/serial-console-app/favicon.ico -------------------------------------------------------------------------------- /serial-console-app/test/all.js: -------------------------------------------------------------------------------- 1 | require("montage-testing").run(require,[ 2 | // Please keep in alphabetical order 3 | 4 | ]); -------------------------------------------------------------------------------- /serial-console-app/ui/main.reel/main.css: -------------------------------------------------------------------------------- 1 | .Main { 2 | display: flex; 3 | flex: 1; 4 | } 5 | -------------------------------------------------------------------------------- /serial-console-app/ui/version.reel/version.css: -------------------------------------------------------------------------------- 1 | .Version { 2 | color:hsl(0,0%,80%); 3 | } 4 | -------------------------------------------------------------------------------- /src/Events.ts: -------------------------------------------------------------------------------- 1 | const Events = { 2 | userLoggedIn: 'userLoggedIn' as 'userLoggedIn', 3 | sessionOpened: 'sessionOpened' as 'sessionOpened', 4 | hashChange: 'hashChange' as 'hashChange' 5 | }; 6 | 7 | type Events = (typeof Events)[keyof typeof Events]; 8 | export { Events }; 9 | -------------------------------------------------------------------------------- /src/backend/websocket-response.js: -------------------------------------------------------------------------------- 1 | exports.WebSocketResponse = function WebSocketResponse (rawResponse) { 2 | this.data = rawResponse.args; 3 | this.timestamp = !isNaN(rawResponse.timestamp) ? rawResponse.timestamp * 1000 : 0; 4 | }; 5 | -------------------------------------------------------------------------------- /src/constants.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | DEFAULT_SELECT_STRING: '---' 3 | }; 4 | -------------------------------------------------------------------------------- /src/controller/tree/Entry.ts: -------------------------------------------------------------------------------- 1 | export interface Entry { 2 | name: string; 3 | path: string; 4 | children: Array; 5 | type?: string; 6 | volume?: any; 7 | parent?: Entry; 8 | original?: any; 9 | } 10 | -------------------------------------------------------------------------------- /src/controller/tree/TreeController.ts: -------------------------------------------------------------------------------- 1 | import {Entry} from './Entry'; 2 | export interface TreeController { 3 | entry: Entry; 4 | type: string; 5 | parent: Entry; 6 | root: string; 7 | 8 | open(selectedPath?: string); 9 | } 10 | -------------------------------------------------------------------------------- /src/dao/calendar-dao.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDao} from './abstract-dao';import {Model} from '../model'; 2 | import {Calendar} from '../model/Calendar'; 3 | 4 | export class CalendarDao extends AbstractDao { 5 | public constructor() { 6 | super(Model.Calendar); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/dao/peer-dao.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDao} from './abstract-dao';import {Model} from '../model'; 2 | import {Peer} from '../model/Peer'; 3 | 4 | export class PeerDao extends AbstractDao { 5 | public constructor() { 6 | super(Model.Peer); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/dao/section-dao.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDao} from './abstract-dao'; 2 | import {Section} from '../model/Section'; 3 | 4 | export class SectionDao extends AbstractDao
{ 5 | 6 | public constructor() { 7 | super(Section.getClassName()); 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/dao/tunable-dao.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDao} from './abstract-dao';import {Model} from '../model'; 2 | import {Tunable} from '../model/Tunable'; 3 | 4 | export class TunableDao extends AbstractDao { 5 | public constructor() { 6 | super(Model.Tunable); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/model/AccountCategory.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class AccountCategory extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/AccountSystem.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class AccountSystem extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Alert.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Alert extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/AlertEmitter.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class AlertEmitter extends AbstractDataObject { 4 | name: string; 5 | } 6 | -------------------------------------------------------------------------------- /src/model/AlertEmitterEmail.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class AlertEmitterEmail extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/AlertEmitterPushBullet.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class AlertEmitterPushBullet extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/AlertFilter.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class AlertFilter extends AbstractDataObject { 4 | parameters: any; 5 | } 6 | -------------------------------------------------------------------------------- /src/model/AlertSettings.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class AlertSettings extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/AmazonS3Credentials.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class AmazonS3Credentials extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/BootEnvironment.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class BootEnvironment extends AbstractDataObject { 4 | keep: boolean; 5 | name: string; 6 | } 7 | -------------------------------------------------------------------------------- /src/model/BootPool.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class BootPool extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Calendar.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Calendar extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/CalendarCustomSchedule.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class CalendarCustomSchedule extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/CalendarTask.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class CalendarTask extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/CompressReplicationTransportOption.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class CompressReplicationTransportOption extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/CryptoCertificate.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class CryptoCertificate extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Database.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Database extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Debug.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Debug extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/DetachedVolume.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class DetachedVolume extends AbstractDataObject { 4 | public name: string; 5 | } 6 | -------------------------------------------------------------------------------- /src/model/Directory.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Directory extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/DirectoryServices.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class DirectoryServices extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/DirectoryserviceConfig.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class DirectoryserviceConfig extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Disk.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Disk extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/DiskUsage.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class DiskUsage extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/DockerCollection.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class DockerCollection extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/DockerCollectionImage.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class DockerCollectionImage extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/DockerConfig.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class DockerConfig extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/DockerContainerBridge.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class DockerContainerBridge extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/DockerContainerCreator.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class DockerContainerCreator extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/DockerContainerLogs.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class DockerContainerLogs extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/DockerContainerSection.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class DockerContainerSection extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/DockerHost.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class DockerHost extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/DockerImage.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class DockerImage extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/DockerImagePull.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class DockerImagePull extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/DockerImageReadme.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class DockerImageReadme extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/DockerNetwork.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class DockerNetwork extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/EncryptReplicationTransportOption.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class EncryptReplicationTransportOption extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/EncryptedVolumeActions.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class EncryptedVolumeActions extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/EncryptedVolumeImporter.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class EncryptedVolumeImporter extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/FreenasCredentials.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class FreenasCredentials extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Group.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Group extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/ImportableDisk.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class ImportableDisk extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Ipmi.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Ipmi extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/KerberosKeytab.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class KerberosKeytab extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/KerberosRealm.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class KerberosRealm extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/LoginInfo.ts: -------------------------------------------------------------------------------- 1 | export interface LoginInfo { 2 | username: string; 3 | url: string; 4 | } 5 | -------------------------------------------------------------------------------- /src/model/NetworkConfig.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class NetworkConfig extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/NetworkHost.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class NetworkHost extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/NetworkInterface.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class NetworkInterface extends AbstractDataObject { 4 | public dhcp: boolean; 5 | } 6 | -------------------------------------------------------------------------------- /src/model/NetworkInterfaceBridgeProperties.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class NetworkInterfaceBridgeProperties extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/NetworkInterfaceLaggProperties.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class NetworkInterfaceLaggProperties extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/NetworkInterfaceVlanProperties.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class NetworkInterfaceVlanProperties extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/NetworkRoute.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class NetworkRoute extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/NtpServer.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class NtpServer extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Peer.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Peer extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Permissions.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Permissions extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Replication.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Replication extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/ReplicationOptions.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class ReplicationOptions extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/RsyncdModule.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class RsyncdModule extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Section.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Section extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/SectionSettings.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class SectionSettings extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Service.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Service extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/ServiceDc.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class ServiceDc extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/ServiceDyndns.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class ServiceDyndns extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/ServiceUps.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class ServiceUps extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Session.ts: -------------------------------------------------------------------------------- 1 | export interface Session { 2 | url: string; 3 | user: any; 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Share.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Share extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/ShareIscsiTarget.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class ShareIscsiTarget extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/SshCredentials.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class SshCredentials extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/SubmittedTask.ts: -------------------------------------------------------------------------------- 1 | export class SubmittedTask { 2 | public constructor( 3 | public taskId: number, 4 | public taskPromise: Promise 5 | ) {} 6 | } 7 | -------------------------------------------------------------------------------- /src/model/SupportCategory.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class SupportCategory extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/SupportTicket.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class SupportTicket extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/SystemAdvanced.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class SystemAdvanced extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/SystemGeneral.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class SystemGeneral extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/SystemSection.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class SystemSection extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/SystemTime.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class SystemTime extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/SystemUi.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class SystemUi extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Task.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Task extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/ThrottleReplicationTransportOption.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class ThrottleReplicationTransportOption extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Tunable.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Tunable extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/UnixPermissions.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class UnixPermissions extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Update.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Update extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/User.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class User extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/Vm.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class Vm extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VmClone.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VmClone extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VmConfig.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VmConfig extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VmDatastore.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VmDatastore extends AbstractDataObject { 4 | public type: string; 5 | } 6 | -------------------------------------------------------------------------------- /src/model/VmDevice.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VmDevice extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VmGuestInfo.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VmGuestInfo extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VmReadme.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VmReadme extends AbstractDataObject { 4 | public text: string; 5 | } 6 | -------------------------------------------------------------------------------- /src/model/VmSnapshot.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VmSnapshot extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VmTemplate.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VmTemplate extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VmVolume.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VmVolume extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VmwareCredentials.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VmwareCredentials extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VmwareDataset.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VmwareDataset extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VmwareDatastore.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VmwareDatastore extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VolumeDatasetPropertyAtime.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VolumeDatasetPropertyAtime extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VolumeDatasetPropertyCasesensitivity.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VolumeDatasetPropertyCasesensitivity extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VolumeDatasetPropertyCompression.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VolumeDatasetPropertyCompression extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VolumeDatasetPropertyDedup.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VolumeDatasetPropertyDedup extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VolumeDatasetPropertyQuota.ts: -------------------------------------------------------------------------------- 1 | import {VolumeDatasetProperty} from './VolumeDatasetProperty'; 2 | 3 | export class VolumeDatasetPropertyQuota extends VolumeDatasetProperty { 4 | parsed: number; 5 | } 6 | -------------------------------------------------------------------------------- /src/model/VolumeDatasetPropertyRefquota.ts: -------------------------------------------------------------------------------- 1 | import {VolumeDatasetProperty} from './VolumeDatasetProperty'; 2 | 3 | export class VolumeDatasetPropertyRefquota extends VolumeDatasetProperty { 4 | public parsed: number; 5 | } 6 | -------------------------------------------------------------------------------- /src/model/VolumeDatasetPropertyRefreservation.ts: -------------------------------------------------------------------------------- 1 | import {VolumeDatasetProperty} from './VolumeDatasetProperty'; 2 | 3 | export class VolumeDatasetPropertyRefreservation extends VolumeDatasetProperty { 4 | public parsed: number; 5 | } 6 | -------------------------------------------------------------------------------- /src/model/VolumeDatasetPropertyReservation.ts: -------------------------------------------------------------------------------- 1 | import {VolumeDatasetProperty} from './VolumeDatasetProperty'; 2 | 3 | export class VolumeDatasetPropertyReservation extends VolumeDatasetProperty { 4 | public parsed: number; 5 | } 6 | -------------------------------------------------------------------------------- /src/model/VolumeDatasetPropertyVolblocksize.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VolumeDatasetPropertyVolblocksize extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VolumeImporter.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VolumeImporter extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VolumeMediaImporter.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VolumeMediaImporter extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VolumeSnapshot.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VolumeSnapshot extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/VolumeVdevRecommendations.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | 3 | export class VolumeVdevRecommendations extends AbstractDataObject { 4 | } 5 | -------------------------------------------------------------------------------- /src/model/ZfsTopology.ts: -------------------------------------------------------------------------------- 1 | import {AbstractDataObject} from './AbstractDataObject'; 2 | import {ZfsVdev} from './ZfsVdev'; 3 | 4 | export class ZfsTopology extends AbstractDataObject { 5 | data: Array; 6 | } 7 | -------------------------------------------------------------------------------- /src/model/enumerations/AclEntryType.ts: -------------------------------------------------------------------------------- 1 | const AclEntryType = { 2 | ALLOW: 'ALLOW' as 'ALLOW', 3 | DENY: 'DENY' as 'DENY' 4 | }; 5 | type AclEntryType = (typeof AclEntryType)[keyof typeof AclEntryType]; 6 | export {AclEntryType}; 7 | -------------------------------------------------------------------------------- /src/model/enumerations/AlertSeverity.ts: -------------------------------------------------------------------------------- 1 | const AlertSeverity = { 2 | CRITICAL: 'CRITICAL' as 'CRITICAL', 3 | WARNING: 'WARNING' as 'WARNING', 4 | INFO: 'INFO' as 'INFO' 5 | }; 6 | type AlertSeverity = (typeof AlertSeverity)[keyof typeof AlertSeverity]; 7 | export {AlertSeverity}; 8 | -------------------------------------------------------------------------------- /src/model/enumerations/AlertType.ts: -------------------------------------------------------------------------------- 1 | const AlertType = { 2 | SYSTEM: 'SYSTEM' as 'SYSTEM', 3 | VOLUME: 'VOLUME' as 'VOLUME', 4 | DISK: 'DISK' as 'DISK' 5 | }; 6 | type AlertType = (typeof AlertType)[keyof typeof AlertType]; 7 | export {AlertType}; 8 | -------------------------------------------------------------------------------- /src/model/enumerations/BackupCompressionType.ts: -------------------------------------------------------------------------------- 1 | const BackupCompressionType = { 2 | NONE: 'NONE' as 'NONE', 3 | GZIP: 'GZIP' as 'GZIP' 4 | }; 5 | type BackupCompressionType = (typeof BackupCompressionType)[keyof typeof BackupCompressionType]; 6 | export {BackupCompressionType}; 7 | -------------------------------------------------------------------------------- /src/model/enumerations/DiskEraseMethod.ts: -------------------------------------------------------------------------------- 1 | const DiskEraseMethod = { 2 | QUICK: 'QUICK' as 'QUICK', 3 | ZEROS: 'ZEROS' as 'ZEROS', 4 | RANDOM: 'RANDOM' as 'RANDOM' 5 | }; 6 | type DiskEraseMethod = (typeof DiskEraseMethod)[keyof typeof DiskEraseMethod]; 7 | export {DiskEraseMethod}; 8 | -------------------------------------------------------------------------------- /src/model/enumerations/DockerHostState.ts: -------------------------------------------------------------------------------- 1 | const DockerHostState = { 2 | UP: 'UP' as 'UP', 3 | DOWN: 'DOWN' as 'DOWN' 4 | }; 5 | type DockerHostState = (typeof DockerHostState)[keyof typeof DockerHostState]; 6 | export {DockerHostState}; 7 | -------------------------------------------------------------------------------- /src/model/enumerations/DockerPortProtocol.ts: -------------------------------------------------------------------------------- 1 | const DockerPortProtocol = { 2 | TCP: 'TCP' as 'TCP', 3 | UDP: 'UDP' as 'UDP' 4 | }; 5 | type DockerPortProtocol = (typeof DockerPortProtocol)[keyof typeof DockerPortProtocol]; 6 | export {DockerPortProtocol}; 7 | -------------------------------------------------------------------------------- /src/model/enumerations/NetworkRouteType.ts: -------------------------------------------------------------------------------- 1 | const NetworkRouteType = { 2 | INET: 'INET' as 'INET', 3 | INET6: 'INET6' as 'INET6' 4 | }; 5 | type NetworkRouteType = (typeof NetworkRouteType)[keyof typeof NetworkRouteType]; 6 | export {NetworkRouteType}; 7 | -------------------------------------------------------------------------------- /src/model/enumerations/RsyncCopyRsyncmode.ts: -------------------------------------------------------------------------------- 1 | const RsyncCopyRsyncmode = { 2 | MODULE: 'MODULE' as 'MODULE', 3 | SSH: 'SSH' as 'SSH' 4 | }; 5 | type RsyncCopyRsyncmode = (typeof RsyncCopyRsyncmode)[keyof typeof RsyncCopyRsyncmode]; 6 | export {RsyncCopyRsyncmode}; 7 | -------------------------------------------------------------------------------- /src/model/enumerations/ServiceSnmpV3authtype.ts: -------------------------------------------------------------------------------- 1 | const ServiceSnmpV3authtype = { 2 | MD5: 'MD5' as 'MD5', 3 | SHA: 'SHA' as 'SHA' 4 | }; 5 | type ServiceSnmpV3authtype = (typeof ServiceSnmpV3authtype)[keyof typeof ServiceSnmpV3authtype]; 6 | export {ServiceSnmpV3authtype}; 7 | -------------------------------------------------------------------------------- /src/model/enumerations/ServiceUpsMode.ts: -------------------------------------------------------------------------------- 1 | const ServiceUpsMode = { 2 | MASTER: 'MASTER' as 'MASTER', 3 | SLAVE: 'SLAVE' as 'SLAVE' 4 | }; 5 | type ServiceUpsMode = (typeof ServiceUpsMode)[keyof typeof ServiceUpsMode]; 6 | export {ServiceUpsMode}; 7 | -------------------------------------------------------------------------------- /src/model/enumerations/ShareIscsiBlocksize.ts: -------------------------------------------------------------------------------- 1 | const ShareIscsiBlocksize = { 2 | 512: '512' as '512', 3 | 4096: '4096' as '4096' 4 | }; 5 | type ShareIscsiBlocksize = (typeof ShareIscsiBlocksize)[keyof typeof ShareIscsiBlocksize]; 6 | export {ShareIscsiBlocksize}; 7 | -------------------------------------------------------------------------------- /src/model/enumerations/ShareTypesPermtype.ts: -------------------------------------------------------------------------------- 1 | const ShareTypesPermtype = { 2 | PERM: 'PERM' as 'PERM', 3 | ACL: 'ACL' as 'ACL' 4 | }; 5 | type ShareTypesPermtype = (typeof ShareTypesPermtype)[keyof typeof ShareTypesPermtype]; 6 | export {ShareTypesPermtype}; 7 | -------------------------------------------------------------------------------- /src/model/enumerations/ShareTypesSubtype.ts: -------------------------------------------------------------------------------- 1 | const ShareTypesSubtype = { 2 | FILE: 'FILE' as 'FILE', 3 | BLOCK: 'BLOCK' as 'BLOCK' 4 | }; 5 | type ShareTypesSubtype = (typeof ShareTypesSubtype)[keyof typeof ShareTypesSubtype]; 6 | export {ShareTypesSubtype}; 7 | -------------------------------------------------------------------------------- /src/model/enumerations/SnapshotInfoType.ts: -------------------------------------------------------------------------------- 1 | const SnapshotInfoType = { 2 | FILESYSTEM: 'FILESYSTEM' as 'FILESYSTEM', 3 | VOLUME: 'VOLUME' as 'VOLUME' 4 | }; 5 | type SnapshotInfoType = (typeof SnapshotInfoType)[keyof typeof SnapshotInfoType]; 6 | export {SnapshotInfoType}; 7 | -------------------------------------------------------------------------------- /src/model/enumerations/TunableType.ts: -------------------------------------------------------------------------------- 1 | const TunableType = { 2 | LOADER: 'LOADER' as 'LOADER', 3 | RC: 'RC' as 'RC', 4 | SYSCTL: 'SYSCTL' as 'SYSCTL' 5 | }; 6 | type TunableType = (typeof TunableType)[keyof typeof TunableType]; 7 | export {TunableType}; 8 | -------------------------------------------------------------------------------- /src/model/enumerations/VmDatastoreNfsVersion.ts: -------------------------------------------------------------------------------- 1 | const VmDatastoreNfsVersion = { 2 | NFSV3: 'NFSV3' as 'NFSV3', 3 | NFSV4: 'NFSV4' as 'NFSV4' 4 | }; 5 | type VmDatastoreNfsVersion = (typeof VmDatastoreNfsVersion)[keyof typeof VmDatastoreNfsVersion]; 6 | export {VmDatastoreNfsVersion}; 7 | -------------------------------------------------------------------------------- /src/model/enumerations/VmDatastoreState.ts: -------------------------------------------------------------------------------- 1 | const VmDatastoreState = { 2 | ONLINE: 'ONLINE' as 'ONLINE', 3 | OFFLINE: 'OFFLINE' as 'OFFLINE' 4 | }; 5 | type VmDatastoreState = (typeof VmDatastoreState)[keyof typeof VmDatastoreState]; 6 | export {VmDatastoreState}; 7 | -------------------------------------------------------------------------------- /src/model/enumerations/VmDeviceDiskMode.ts: -------------------------------------------------------------------------------- 1 | const VmDeviceDiskMode = { 2 | AHCI: 'AHCI' as 'AHCI', 3 | VIRTIO: 'VIRTIO' as 'VIRTIO' 4 | }; 5 | type VmDeviceDiskMode = (typeof VmDeviceDiskMode)[keyof typeof VmDeviceDiskMode]; 6 | export {VmDeviceDiskMode}; 7 | -------------------------------------------------------------------------------- /src/model/enumerations/VmDeviceUsbDevice.ts: -------------------------------------------------------------------------------- 1 | const VmDeviceUsbDevice = { 2 | tablet: 'tablet' as 'tablet' 3 | }; 4 | type VmDeviceUsbDevice = (typeof VmDeviceUsbDevice)[keyof typeof VmDeviceUsbDevice]; 5 | export {VmDeviceUsbDevice}; 6 | -------------------------------------------------------------------------------- /src/model/enumerations/VmDeviceVolumeType.ts: -------------------------------------------------------------------------------- 1 | const VmDeviceVolumeType = { 2 | VT9P: 'VT9P' as 'VT9P' 3 | }; 4 | type VmDeviceVolumeType = (typeof VmDeviceVolumeType)[keyof typeof VmDeviceVolumeType]; 5 | export {VmDeviceVolumeType}; 6 | -------------------------------------------------------------------------------- /src/model/enumerations/VolumeDatasetType.ts: -------------------------------------------------------------------------------- 1 | const VolumeDatasetType = { 2 | FILESYSTEM: 'FILESYSTEM' as 'FILESYSTEM', 3 | VOLUME: 'VOLUME' as 'VOLUME' 4 | }; 5 | type VolumeDatasetType = (typeof VolumeDatasetType)[keyof typeof VolumeDatasetType]; 6 | export {VolumeDatasetType}; 7 | -------------------------------------------------------------------------------- /src/reducers/initialize.ts: -------------------------------------------------------------------------------- 1 | import * as Immutable from 'immutable'; 2 | 3 | export function initialize(state, action) { 4 | if (action.type === '@@INIT') { 5 | return Immutable.Map(); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/repository/UserRepository.ts: -------------------------------------------------------------------------------- 1 | import {AbstractModelRepository} from './abstract-model-repository'; 2 | import {User} from '../model/User'; 3 | export class UserRepository extends AbstractModelRepository { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/repository/data-store.ts: -------------------------------------------------------------------------------- 1 | import { createStore } from 'redux'; 2 | 3 | export class DataStore { 4 | private store; 5 | 6 | public constructor() { 7 | this.store = createStore(function() {}); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/service/data-processor/data-processor.ts: -------------------------------------------------------------------------------- 1 | export interface DataProcessor { 2 | process(object: Object, ...context: any[]): Object; 3 | } 4 | -------------------------------------------------------------------------------- /src/service/freenas-service.js: -------------------------------------------------------------------------------- 1 | var FakeMontageDataService = require("core/service/fake-montage-data-service").FakeMontageDataService; 2 | 3 | exports.FreeNASService = { 4 | instance: FakeMontageDataService.getInstance() 5 | }; 6 | -------------------------------------------------------------------------------- /tests/e2e/globals.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | waitForConditionTimeout: 10000, 3 | credentials: { 4 | login: 'root', 5 | password: 'meh' 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /tests/e2e/tests/accounts/99_end.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | '99 - End of test': function(browser) { 3 | browser 4 | .pause(250) 5 | .end(); 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /tests/e2e/tests/calendar/99_end.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | '99 - End of test': ''+function(browser) { 3 | browser 4 | .pause(250) 5 | .end(); 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /tests/e2e/tests/console/00_section.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 'Console': function(browser) { 3 | browser 4 | .press('div.MainNavigationItem-console') 5 | .waitForElementVisible('div.Console-terminal', 5000) 6 | .pause(250); 7 | } 8 | }; 9 | -------------------------------------------------------------------------------- /tests/e2e/tests/console/99_end.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | '99 - End of test': function(browser) { 3 | browser 4 | .pause(250) 5 | .end(); 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /tests/e2e/tests/docker/99_end.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | '99 - End of test': function(browser) { 3 | browser 4 | .pause(250) 5 | .end(); 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /tests/e2e/tests/network/99_end.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | '99 - End of test': function(browser) { 3 | browser 4 | .pause(250) 5 | .end(); 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /tests/e2e/tests/peering/99_end.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | '99 - End of test': function(browser) { 3 | browser 4 | .pause(250) 5 | .end(); 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /tests/e2e/tests/services/99_end.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | '99 - End of test': function(browser) { 3 | browser 4 | .pause(250) 5 | .end(); 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /tests/e2e/tests/storage/99_end.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | '99 - End of test': function(browser) { 3 | browser 4 | .pause(250) 5 | .end(); 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /tests/e2e/tests/system/99_end.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | '99 - End of test': function(browser) { 3 | browser 4 | .pause(250) 5 | .end(); 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /tests/e2e/tests/vms/99_end.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | '99 - End of test': function(browser) { 3 | browser 4 | .pause(250) 5 | .end(); 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /ui/controls/button-group.reel/button-group.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class ButtonGroup 5 | * @extends Component 6 | */ 7 | exports.ButtonGroup = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/controls/grid.reel/_grid.css: -------------------------------------------------------------------------------- 1 | .Grid-repetition { 2 | /* display: flex; */ 3 | /* flex-wrap: wrap; */ 4 | } 5 | 6 | .GridItem { 7 | display: inline-block; 8 | } 9 | -------------------------------------------------------------------------------- /ui/controls/grid.reel/grid.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class Grid 5 | * @extends Component 6 | */ 7 | exports.Grid = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/controls/info-box.reel/_info-box.css: -------------------------------------------------------------------------------- 1 | .InfoBox { 2 | background-color: var(--primary--8); 3 | /* color: var(--white); */ 4 | } 5 | 6 | .InfoBox-title { 7 | margin-top: .5rem; 8 | } 9 | -------------------------------------------------------------------------------- /ui/controls/ip-aliases.reel/ip-address.reel/_ip-address.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/ui/controls/ip-aliases.reel/ip-address.reel/_ip-address.css -------------------------------------------------------------------------------- /ui/controls/ip-aliases.reel/ip-address.reel/ip-address.js: -------------------------------------------------------------------------------- 1 | var Component = require('montage/ui/component').Component; 2 | 3 | exports.IpAddress = Component.specialize({ 4 | 5 | }); 6 | -------------------------------------------------------------------------------- /ui/controls/labeled-icon.reel/labeled-icon.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class LabeledIcon 5 | * @extends Component 6 | */ 7 | exports.LabeledIcon = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/controls/list.reel/_list.css: -------------------------------------------------------------------------------- 1 | .List-item + .List-item > * { 2 | border-top-color: transparent; 3 | } 4 | 5 | .ListItem .dummy { 6 | position: absolute; 7 | margin: -1000px; 8 | z-index: -1000; 9 | } 10 | -------------------------------------------------------------------------------- /ui/controls/section.reel/section-settings.reel/section-settings.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.SectionSettings = Component.specialize(); 4 | -------------------------------------------------------------------------------- /ui/controls/timezone-picker.reel/_timezone-picker.css: -------------------------------------------------------------------------------- 1 | .TimezonePicker.is-disabled { 2 | opacity: .5; 3 | pointer-events: none; 4 | } 5 | -------------------------------------------------------------------------------- /ui/controls/timezone-picker.reel/gray-600.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/ui/controls/timezone-picker.reel/gray-600.png -------------------------------------------------------------------------------- /ui/controls/timezone-picker.reel/pin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/ui/controls/timezone-picker.reel/pin.png -------------------------------------------------------------------------------- /ui/controls/topology.reel/_topology.css: -------------------------------------------------------------------------------- 1 | .Topology { 2 | border-bottom: 1px solid var(--primary--4); 3 | 4 | /* log & cache */ 5 | & .flex-row > * { 6 | flex: 1; 7 | } 8 | } 9 | 10 | .Topology .Inspector-body { margin: 0; } 11 | -------------------------------------------------------------------------------- /ui/controls/tree-view.reel/child-node.reel/child-node.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/node.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class ChildNode 8 | * @extends Component 9 | */ 10 | exports.ChildNode = Component.specialize(); 11 | -------------------------------------------------------------------------------- /ui/dashboard/notifications.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.Main = Component.specialize(); 4 | -------------------------------------------------------------------------------- /ui/dashboard/notifications.reel/notification-details.reel/task-notification-details.reel/task-notification-details.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.TaskNotificationDetails = Component.specialize(/** @lends TaskNotificationDetails# */); 4 | -------------------------------------------------------------------------------- /ui/dashboard/widgets/chart-live.reel/_chart-live.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/ui/dashboard/widgets/chart-live.reel/_chart-live.css -------------------------------------------------------------------------------- /ui/icons/afp-service.reel/afp-service.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class AfpService 5 | * @extends Component 6 | */ 7 | exports.AfpService = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/certificates/ca.reel/ca.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/ca.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Ca 8 | * @extends Component 9 | */ 10 | exports.Ca = Component.specialize(); 11 | -------------------------------------------------------------------------------- /ui/icons/directory.reel/_directory.css: -------------------------------------------------------------------------------- 1 | .Directory { 2 | color: var(--blue-lighten-1); 3 | } 4 | -------------------------------------------------------------------------------- /ui/icons/file.reel/file.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/file.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class File 8 | * @extends Component 9 | */ 10 | exports.File = Component.specialize(); 11 | -------------------------------------------------------------------------------- /ui/icons/freenas-icon.reel/freenas-icon.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/freenas-icon.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class FreenasIcon 8 | * @extends Component 9 | */ 10 | exports.FreenasIcon = Component.specialize(); 11 | -------------------------------------------------------------------------------- /ui/icons/group.reel/group.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class Group 5 | * @extends Component 6 | */ 7 | exports.Group = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/ipmi.reel/_ipmi.css: -------------------------------------------------------------------------------- 1 | .IpmiIcon svg { 2 | color: var(--grey-2); 3 | } 4 | 5 | .Grid-icon.selected .IpmiIcon svg { color: var(--color-selected); } 6 | -------------------------------------------------------------------------------- /ui/icons/ipmi.reel/ipmi.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class Ipmi 5 | * @extends Component 6 | */ 7 | exports.Ipmi = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/network-interface.reel/bridge.reel/bridge.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class Bridge 5 | * @extends Component 6 | */ 7 | exports.Bridge = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/network-interface.reel/interface.reel/interface.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class Interface 5 | * @extends Component 6 | */ 7 | exports.Interface = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/network-interface.reel/lagg.reel/lagg.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class Lagg 5 | * @extends Component 6 | */ 7 | exports.Lagg = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/network-interface.reel/network-device.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class NetworkDevice 5 | * @extends Component 6 | */ 7 | exports.NetworkDevice = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/network-interface.reel/network-interface.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class NetworkInterface 5 | * @extends Component 6 | */ 7 | exports.NetworkInterface = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/network-interface.reel/vlan.reel/vlan.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class Vlan 5 | * @extends Component 6 | */ 7 | exports.Vlan = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/nfs-service.reel/nfs-service.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class NfsShare 5 | * @extends Component 6 | */ 7 | exports.NfsService = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/nfs-share.reel/nfs-share.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class NfsShare 5 | * @extends Component 6 | */ 7 | exports.NfsShare = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/sharing.reel/sharing.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class Sharing 5 | * @extends Component 6 | */ 7 | exports.Sharing = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/smb-service.reel/smb-service.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class SmbShare 5 | * @extends Component 6 | */ 7 | exports.SmbService = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/smb-service.reel/smb-share.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class SmbShare 5 | * @extends Component 6 | */ 7 | exports.SmbShare = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/smb-share.reel/smb-share.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class SmbShare 5 | * @extends Component 6 | */ 7 | exports.SmbShare = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/user.reel/user.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class User 5 | * @extends Component 6 | */ 7 | exports.User = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/volume.reel/volume.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class Volume 5 | * @extends Component 6 | */ 7 | exports.Volume = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/icons/zvol.reel/zvol.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/zvol.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Zvol 8 | * @extends Component 9 | */ 10 | exports.Zvol = Component.specialize(); 11 | -------------------------------------------------------------------------------- /ui/inspectors/calendar-task.reel/cron-args.reel/_cron-args.css: -------------------------------------------------------------------------------- 1 | .CronArgs { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/calendar-task.reel/cron-args.reel/cron-args.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.CronArgs = Component.specialize(); 4 | -------------------------------------------------------------------------------- /ui/inspectors/calendar-task.reel/replication-args.reel/_replication-args.css: -------------------------------------------------------------------------------- 1 | .ReplicationArgs { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /ui/inspectors/calendar-task.reel/rsync-args.reel/_rsync-args.css: -------------------------------------------------------------------------------- 1 | .RsyncArgs { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /ui/inspectors/calendar-task.reel/scrub-args.reel/_scrub-args.css: -------------------------------------------------------------------------------- 1 | .ScrubArgs { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/calendar-task.reel/smart-args.reel/_smart-args.css: -------------------------------------------------------------------------------- 1 | .SmartArgs { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /ui/inspectors/calendar-task.reel/snapshot-args.reel/_snapshot-args.css: -------------------------------------------------------------------------------- 1 | .SnapshotArgs .FieldDuration .Duration-count { 2 | max-width: 3em; 3 | } 4 | -------------------------------------------------------------------------------- /ui/inspectors/calendar.reel/calendar-list.reel/calendar-list.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.CalendarList = Component.specialize(); 4 | -------------------------------------------------------------------------------- /ui/inspectors/calendar.reel/calendar-widget.reel/calendar-event.reel/_calendar-event.css: -------------------------------------------------------------------------------- 1 | /* FIXME - I don't think that this is used */ 2 | 3 | -------------------------------------------------------------------------------- /ui/inspectors/calendar.reel/calendar-widget.reel/calendar-widget-task.reel/_calendar-widget-task.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/ui/inspectors/calendar.reel/calendar-widget.reel/calendar-widget-task.reel/_calendar-widget-task.css -------------------------------------------------------------------------------- /ui/inspectors/calendar.reel/calendar-widget.reel/calendar-widget-view-month.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.Main = Component.specialize({}); 4 | -------------------------------------------------------------------------------- /ui/inspectors/calendar.reel/calendar-widget.reel/day-header.reel/_day-header.css: -------------------------------------------------------------------------------- 1 | .DayHeader.is-today { 2 | background: var(--primary); 3 | } 4 | 5 | .DayHeader:not(:last-child) { 6 | border-right: 1px solid var(--calendar-line--strong); 7 | } 8 | -------------------------------------------------------------------------------- /ui/inspectors/calendar.reel/calendar-widget.reel/day-view.reel/_day-view.css: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ui/inspectors/calendar.reel/calendar-widget.reel/month-view.reel/_month-view.css: -------------------------------------------------------------------------------- 1 | .MonthView > table { 2 | height: 100%; 3 | table-layout: fixed; 4 | margin-bottom: 0; 5 | } 6 | -------------------------------------------------------------------------------- /ui/inspectors/calendar.reel/calendar-widget.reel/week-view.reel/_week-view.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /ui/inspectors/calendar.reel/task-type-indicator.reel/task-type-indicator.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.TaskTypeIndicator = Component.specialize(); 4 | -------------------------------------------------------------------------------- /ui/inspectors/inspector.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.Main = Component.specialize(); 4 | -------------------------------------------------------------------------------- /ui/inspectors/rsyncd-module.reel/_rsyncd-module.css: -------------------------------------------------------------------------------- 1 | .RsyncdModule { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/_service.css: -------------------------------------------------------------------------------- 1 | .Service { 2 | min-width: 27rem !important; 3 | } 4 | -------------------------------------------------------------------------------- /ui/inspectors/service.reel/afp-service.reel/_afp-service.css: -------------------------------------------------------------------------------- 1 | .AfpService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/afp-service.reel/afp-service.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class AfpService 5 | * @extends Component 6 | */ 7 | exports.AfpService = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/inspectors/service.reel/dc-service.reel/_dc-service.css: -------------------------------------------------------------------------------- 1 | .DcService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/domain-controller-service.reel/_domain-controller-service.css: -------------------------------------------------------------------------------- 1 | .DomainControllerService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/domain-controller-service.reel/domain-controller-service.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class DomainControllerService 5 | * @extends Component 6 | */ 7 | exports.DomainControllerService = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/inspectors/service.reel/dyndns-service.reel/_dyndns-service.css: -------------------------------------------------------------------------------- 1 | .DynDnsService { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /ui/inspectors/service.reel/ftp-service.reel/_ftp-service.css: -------------------------------------------------------------------------------- 1 | .FtpService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/gluster-service.reel/_gluster-service.css: -------------------------------------------------------------------------------- 1 | .GlusterService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/gluster-service.reel/gluster-service.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class GlusterService 5 | * @extends Component 6 | */ 7 | exports.GlusterService = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/inspectors/service.reel/ipfs-service.reel/_ipfs-service.css: -------------------------------------------------------------------------------- 1 | .IpfsService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/ipfs-service.reel/ipfs-service.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class IpfsService 5 | * @extends Component 6 | */ 7 | exports.IpfsService = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/inspectors/service.reel/iscsi-service.reel/_iscsi-service.css: -------------------------------------------------------------------------------- 1 | .IscsiService { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /ui/inspectors/service.reel/ldap-service.reel/_ldap-service.css: -------------------------------------------------------------------------------- 1 | .LdapService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/ldap-service.reel/ldap-service.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class LdapService 5 | * @extends Component 6 | */ 7 | exports.LdapService = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/inspectors/service.reel/lldp-service.reel/_lldp-service.css: -------------------------------------------------------------------------------- 1 | .LldpService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/lldp-service.reel/lldp-service.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class LldpService 5 | * @extends Component 6 | */ 7 | exports.LldpService = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/inspectors/service.reel/nfs-service.reel/_nfs-service.css: -------------------------------------------------------------------------------- 1 | .NfsService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/nfs-service.reel/nfs-service.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class NfsService 5 | * @extends Component 6 | */ 7 | exports.NfsService = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/inspectors/service.reel/nis-service.reel/_nis-service.css: -------------------------------------------------------------------------------- 1 | .NisService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/nis-service.reel/nis-service.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class NisService 5 | * @extends Component 6 | */ 7 | exports.NisService = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/inspectors/service.reel/nt4-service.reel/_nt4-service.css: -------------------------------------------------------------------------------- 1 | .Nt4Service { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/nt4-service.reel/nt4-service.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class Nt4Service 5 | * @extends Component 6 | */ 7 | exports.Nt4Service = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/inspectors/service.reel/rsyncd-service.reel/_rsyncd-service.css: -------------------------------------------------------------------------------- 1 | .RsyncdService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/scp-service.reel/_scp-service.css: -------------------------------------------------------------------------------- 1 | .ScpService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/scp-service.reel/scp-service.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class ScpService 5 | * @extends Component 6 | */ 7 | exports.ScpService = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/inspectors/service.reel/service-overview.reel/service-overview.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class ServiceOverview 5 | * @extends Component 6 | */ 7 | exports.ServiceOverview = Component.specialize(/** @lends ServiceOverview# */); 8 | -------------------------------------------------------------------------------- /ui/inspectors/service.reel/smartd-service.reel/_smartd-service.css: -------------------------------------------------------------------------------- 1 | .SmartdService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/smb-service.reel/_smb-service.css: -------------------------------------------------------------------------------- 1 | .SmbService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/snmp-service.reel/_snmp-service.css: -------------------------------------------------------------------------------- 1 | .SnmpService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/sshd-service.reel/_sshd-service.css: -------------------------------------------------------------------------------- 1 | .SshdService { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /ui/inspectors/service.reel/swift-service.reel/_swift-service.css: -------------------------------------------------------------------------------- 1 | .SwiftService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/swift-service.reel/swift-service.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class SwiftService 5 | * @extends Component 6 | */ 7 | exports.SwiftService = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/inspectors/service.reel/tftpd-service.reel/_tftpd-service.css: -------------------------------------------------------------------------------- 1 | .TftpService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/ups-service.reel/_ups-service.css: -------------------------------------------------------------------------------- 1 | .UpsService { 2 | 3 | } -------------------------------------------------------------------------------- /ui/inspectors/service.reel/webdav-service.reel/_webdav-service.css: -------------------------------------------------------------------------------- 1 | .WebdavService { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /ui/inspectors/services-category.reel/_services-category.css: -------------------------------------------------------------------------------- 1 | .ServicesCategory {} 2 | -------------------------------------------------------------------------------- /ui/inspectors/services-category.reel/_share.css: -------------------------------------------------------------------------------- 1 | .Share {} 2 | -------------------------------------------------------------------------------- /ui/inspectors/services-category.reel/services-category.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.ServicesCategory = Component.specialize(); 4 | -------------------------------------------------------------------------------- /ui/inspectors/static-route.info/sample/ui/main.reel/main.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.Main = Component.specialize(); 4 | -------------------------------------------------------------------------------- /ui/inspectors/static-route.reel/_static-route.css: -------------------------------------------------------------------------------- 1 | .StaticRoute { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /ui/main-sidebar/main-navigation.reel/_main-navigation.css: -------------------------------------------------------------------------------- 1 | .MainNavigation { 2 | display: flex; 3 | flex-direction: column; 4 | } 5 | 6 | .MainNavigation-repetition { 7 | min-height: 25rem; 8 | flex: 1; 9 | display: flex; 10 | flex-direction: column; 11 | } 12 | -------------------------------------------------------------------------------- /ui/sections/accounts/inspectors/directory-services.reel/directory-service.reel/directory-service.js: -------------------------------------------------------------------------------- 1 | var AbstractInspector = require("ui/abstract/abstract-inspector").AbstractInspector; 2 | 3 | exports.DirectoryService = AbstractInspector.specialize(); 4 | -------------------------------------------------------------------------------- /ui/sections/accounts/inspectors/group.reel/_group.css: -------------------------------------------------------------------------------- 1 | .Group { min-width: 20em; } 2 | -------------------------------------------------------------------------------- /ui/sections/accounts/inspectors/kerberos-keytab.reel/_kerberos-keytab.css: -------------------------------------------------------------------------------- 1 | .KerberosKeytab-entries .Table-row > div:nth-child(1), 2 | .KerberosKeytab-entries .TableHeaderLayout-row .TableHeaderLayout-cell:nth-child(1) { 3 | max-width: 4.5em; 4 | } 5 | -------------------------------------------------------------------------------- /ui/sections/accounts/inspectors/kerberos-realm.reel/_kerberos-realm.css: -------------------------------------------------------------------------------- 1 | .KerberosRealm { 2 | 3 | } -------------------------------------------------------------------------------- /ui/sections/accounts/inspectors/kerberos-realm.reel/kerberos-realm.js: -------------------------------------------------------------------------------- 1 | var AbstractInspector = require("ui/abstract/abstract-inspector").AbstractInspector; 2 | 3 | /** 4 | * @class KerberosRealm 5 | * @extends Component 6 | */ 7 | exports.KerberosRealm = AbstractInspector.specialize(); 8 | -------------------------------------------------------------------------------- /ui/sections/accounts/inspectors/user.reel/_user.css: -------------------------------------------------------------------------------- 1 | .User { 2 | width: 31rem !important; 3 | } 4 | -------------------------------------------------------------------------------- /ui/sections/containers/controls/table-port.reel/table-row-port.reel/table-row-port.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.TableRowPort = Component.specialize(); 4 | -------------------------------------------------------------------------------- /ui/sections/containers/controls/table-volume.reel/table-row-volume.reel/_table-row-volume.css: -------------------------------------------------------------------------------- 1 | .TableRowVolume .Field-title { 2 | display: none; 3 | } 4 | -------------------------------------------------------------------------------- /ui/sections/containers/inspectors/docker-collection.reel/docker-collection.js: -------------------------------------------------------------------------------- 1 | var AbstractInspector = require("ui/abstract/abstract-inspector").AbstractInspector; 2 | 3 | exports.DockerCollection = AbstractInspector.specialize(); 4 | -------------------------------------------------------------------------------- /ui/sections/containers/inspectors/docker-logs.reel/_docker-logs.css: -------------------------------------------------------------------------------- 1 | .DockerLogs { 2 | 3 | & .Inspector-body { 4 | flex: 1 !important; 5 | display: flex !important; 6 | } 7 | } 8 | 9 | .DockerLogs .Console { 10 | min-width: 40rem; 11 | } 12 | -------------------------------------------------------------------------------- /ui/sections/network/controls/table-routes.reel/_table-routes.css: -------------------------------------------------------------------------------- 1 | .TableRoutes .TableHeaderLayout-cell:nth-child(2) { 2 | min-width: 60%; 3 | } 4 | -------------------------------------------------------------------------------- /ui/sections/network/controls/table-routes.reel/table-row-route.reel/_table-row-route.css: -------------------------------------------------------------------------------- 1 | .TableRowRoute-address { 2 | min-width: 60%; 3 | } 4 | -------------------------------------------------------------------------------- /ui/sections/network/controls/table-routes.reel/table-row-route.reel/table-row-route.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.TableRowRoute = Component.specialize(); 4 | -------------------------------------------------------------------------------- /ui/sections/network/inspectors/ipmi.reel/_ipmi.css: -------------------------------------------------------------------------------- 1 | .Ipmi { 2 | 3 | } -------------------------------------------------------------------------------- /ui/sections/network/inspectors/network-interface-creator.reel/_network-interface-creator.css: -------------------------------------------------------------------------------- 1 | .NetworkInterfaceCreator .Inspector-body { margin-top: 0; } 2 | -------------------------------------------------------------------------------- /ui/sections/network/inspectors/network-interface.reel/_network-interface.css: -------------------------------------------------------------------------------- 1 | .NetworkInterface { 2 | min-width: 42rem !important; 3 | } 4 | 5 | .NetworkInterfaceIcon { flex: 1; } 6 | -------------------------------------------------------------------------------- /ui/sections/network/inspectors/network-interface.reel/bridge.reel/_bridge.css: -------------------------------------------------------------------------------- 1 | .Bridge { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /ui/sections/network/inspectors/network-interface.reel/bridge.reel/bridge.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class Bridge 5 | * @extends Component 6 | */ 7 | exports.Bridge = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/sections/network/inspectors/network-interface.reel/interface.reel/_interface.css: -------------------------------------------------------------------------------- 1 | .Interface {} 2 | -------------------------------------------------------------------------------- /ui/sections/network/inspectors/network-interface.reel/lagg.reel/_lagg.css: -------------------------------------------------------------------------------- 1 | .Lagg { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /ui/sections/network/inspectors/network-interface.reel/vlan.reel/_vlan.css: -------------------------------------------------------------------------------- 1 | .Vlan {} 2 | -------------------------------------------------------------------------------- /ui/sections/network/inspectors/network-interface.reel/vlan.reel/vlan.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class Vlan 5 | * @extends Component 6 | */ 7 | exports.Vlan = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/sections/network/inspectors/overview.reel/overview.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.Overview = Component.specialize(); 4 | -------------------------------------------------------------------------------- /ui/sections/network/inspectors/settings.reel/_settings.css: -------------------------------------------------------------------------------- 1 | .Network-settings { 2 | min-width: 31rem; 3 | } 4 | -------------------------------------------------------------------------------- /ui/sections/storage/controls/volume-dataset-options.reel/volume-dataset-options.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.VolumeDatasetOptions = Component.specialize(); 4 | -------------------------------------------------------------------------------- /ui/sections/storage/inspectors/overview.reel/_overview.css: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ui/sections/storage/inspectors/overview.reel/overview.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | exports.Overview = Component.specialize(); 4 | -------------------------------------------------------------------------------- /ui/sections/storage/inspectors/replication.reel/_replication.css: -------------------------------------------------------------------------------- 1 | .Replication .Inspector-optionalButtons { 2 | 3 | & button { 4 | display: block; 5 | margin-right: .5em; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /ui/sections/storage/inspectors/share.reel/_share.css: -------------------------------------------------------------------------------- 1 | .Share {} 2 | -------------------------------------------------------------------------------- /ui/sections/storage/inspectors/share.reel/afp-share.reel/_afp-share.css: -------------------------------------------------------------------------------- 1 | .AfpShare {} 2 | -------------------------------------------------------------------------------- /ui/sections/storage/inspectors/share.reel/afp-share.reel/afp-share.js: -------------------------------------------------------------------------------- 1 | var AbstractShareInspector = require("../abstract-share-inspector").AbstractShareInspector; 2 | 3 | 4 | exports.AfpShare = AbstractShareInspector.specialize(); 5 | -------------------------------------------------------------------------------- /ui/sections/storage/inspectors/share.reel/iscsi-share.reel/_iscsi-share.css: -------------------------------------------------------------------------------- 1 | .IScsiShare { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /ui/sections/storage/inspectors/share.reel/nfs-share.reel/_nfs-share.css: -------------------------------------------------------------------------------- 1 | .NfsShare { 2 | 3 | } -------------------------------------------------------------------------------- /ui/sections/storage/inspectors/share.reel/share-owner.reel/_share-owner.css: -------------------------------------------------------------------------------- 1 | .ShareOwner { 2 | 3 | } -------------------------------------------------------------------------------- /ui/sections/storage/inspectors/share.reel/smb-share.reel/_smb-share.css: -------------------------------------------------------------------------------- 1 | .SmbShare { 2 | 3 | } -------------------------------------------------------------------------------- /ui/sections/storage/inspectors/share.reel/webdav-share.reel/_webdav-share.css: -------------------------------------------------------------------------------- 1 | .WebdavShare {} 2 | -------------------------------------------------------------------------------- /ui/sections/storage/inspectors/share.reel/webdav-share.reel/webdav-share.js: -------------------------------------------------------------------------------- 1 | var AbstractShareInspector = require("../abstract-share-inspector").AbstractShareInspector; 2 | 3 | exports.WebdavShare = AbstractShareInspector.specialize(); 4 | -------------------------------------------------------------------------------- /ui/sections/storage/inspectors/snapshot.reel/_snapshot.css: -------------------------------------------------------------------------------- 1 | .Snapshot { 2 | min-width: 20em; 3 | } 4 | 5 | .Snapshot .TextField.Duration-count { 6 | max-width: 3em; 7 | } -------------------------------------------------------------------------------- /ui/sections/storage/inspectors/vmware-snapshot.reel/_vmware-snapshot.css: -------------------------------------------------------------------------------- 1 | .VmwareSnapshot { 2 | 3 | } -------------------------------------------------------------------------------- /ui/sections/storage/inspectors/volume-dataset.reel/_volume-dataset.css: -------------------------------------------------------------------------------- 1 | .DatasetSettings { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /ui/sections/storage/inspectors/volume-dataset.reel/volume-dataset-settings.reel/_volume-dataset-settings.css: -------------------------------------------------------------------------------- 1 | .VolumeDatasetSettings { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /ui/sections/system/inspectors/language-and-region.reel/_language-and-region.css: -------------------------------------------------------------------------------- 1 | .language-and-region { 2 | min-width: 39rem !important; 3 | } 4 | -------------------------------------------------------------------------------- /ui/sections/system/inspectors/overview.reel/_overview.css: -------------------------------------------------------------------------------- 1 | .Overview-metrics .Field-title { 2 | flex: 1; 3 | } 4 | -------------------------------------------------------------------------------- /ui/sections/system/inspectors/serial-console.reel/_serial-console.css: -------------------------------------------------------------------------------- 1 | .SerialConsole { 2 | min-width: 27rem !important; 3 | } 4 | -------------------------------------------------------------------------------- /ui/sections/system/inspectors/system-section.reel/_system-section.css: -------------------------------------------------------------------------------- 1 | .SystemSection-substitution { 2 | flex: 1; 3 | @apply --flex-column; 4 | } 5 | 6 | .SystemSection-substitution > div:first-child { 7 | display: flex; 8 | @apply --flex-column; 9 | } 10 | 11 | -------------------------------------------------------------------------------- /ui/sections/vms/inspectors/virtual-machine-device.reel/virtual-machine-device-cdrom.reel/virtual-machine-device-cdrom.js: -------------------------------------------------------------------------------- 1 | var AbstractInspector = require("ui/abstract/abstract-inspector").AbstractInspector; 2 | 3 | exports.VirtualMachineDeviceCdrom = AbstractInspector.specialize(); 4 | -------------------------------------------------------------------------------- /ui/sections/vms/inspectors/virtual-machine-device.reel/virtual-machine-device-volume.reel/_virtual-machine-device-volume.css: -------------------------------------------------------------------------------- 1 | .VirtualMachineDeviceVolume { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /ui/sections/vms/inspectors/virtual-machine.reel/virtual-machine-readme.reel/_virtual-machine-readme.css: -------------------------------------------------------------------------------- 1 | .VirtualMachineReadme { 2 | min-width: 20em !Important; 3 | 4 | & textarea { 5 | flex: 1; 6 | max-height: 100%; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /ui/sections/vms/inspectors/vm-snapshot.reel/_vm-snapshot.css: -------------------------------------------------------------------------------- 1 | .VmSnapshot { min-width: 22rem !important; } 2 | -------------------------------------------------------------------------------- /ui/sections/wizard/inspectors/directory-services.reel/_directory-services.css: -------------------------------------------------------------------------------- 1 | .DirectoryServices-wizard .FoldableSection, 2 | .DirectoryServices-wizard .InspectorFooter { 3 | display: none; 4 | } 5 | -------------------------------------------------------------------------------- /ui/sections/wizard/inspectors/directory-services.reel/table-freeipa.reel/_table-freeipa.css: -------------------------------------------------------------------------------- 1 | .TableFreeipa .Table-cells > div:nth-child(1), 2 | .TableFreeipa .TableHeaderLayout-row .TableHeaderLayout-cell:nth-child(1) { 3 | max-width: 8em; 4 | } 5 | -------------------------------------------------------------------------------- /ui/sections/wizard/inspectors/directory-services.reel/table-nis.reel/_table-nis.css: -------------------------------------------------------------------------------- 1 | .TableNis .Table-cells > div:nth-child(1), 2 | .TableNis .TableHeaderLayout-row .TableHeaderLayout-cell:nth-child(1) { 3 | max-width: 12em; 4 | } 5 | -------------------------------------------------------------------------------- /ui/sections/wizard/inspectors/mail.reel/_mail.css: -------------------------------------------------------------------------------- 1 | .Mail-wizard .FoldableSection, 2 | .Mail-wizard .InspectorFooter { 3 | display: none !important; 4 | } 5 | -------------------------------------------------------------------------------- /ui/sections/wizard/inspectors/mail.reel/mail.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @module ui/mail.reel 3 | */ 4 | var Component = require("montage/ui/component").Component; 5 | 6 | /** 7 | * @class Mail 8 | * @extends Component 9 | */ 10 | exports.Mail = Component.specialize(); 11 | -------------------------------------------------------------------------------- /ui/sections/wizard/inspectors/share.reel/_share.css: -------------------------------------------------------------------------------- 1 | .Share-wizard .FoldableSection, 2 | .Share-wizard .InspectorFooter, 3 | .Share-wizard .FoldableSection { 4 | display: none !important; 5 | } 6 | -------------------------------------------------------------------------------- /ui/sections/wizard/inspectors/share.reel/table-afp.reel/_table-afp.css: -------------------------------------------------------------------------------- 1 | .TableAfp .Table-cells > div:nth-child(2), 2 | .TableAfp .TableHeaderLayout-row .TableHeaderLayout-cell:nth-child(2) { 3 | max-width: 8em; 4 | } 5 | -------------------------------------------------------------------------------- /ui/sections/wizard/inspectors/share.reel/table-iscsi.reel/_table-iscsi.css: -------------------------------------------------------------------------------- 1 | .TableIscsi .Table-cells > div:nth-child(2), 2 | .TableIscsi .TableHeaderLayout-row .TableHeaderLayout-cell:nth-child(2) { 3 | max-width: 12em; 4 | } 5 | -------------------------------------------------------------------------------- /ui/sections/wizard/inspectors/share.reel/table-nfs.reel/_table-nfs.css: -------------------------------------------------------------------------------- 1 | .TableNfs .Table-cells > div:nth-child(2), 2 | .TableNfs .TableHeaderLayout-row .TableHeaderLayout-cell:nth-child(2) { 3 | max-width: 8em; 4 | } 5 | -------------------------------------------------------------------------------- /ui/sections/wizard/inspectors/share.reel/table-smb.reel/_table-smb.css: -------------------------------------------------------------------------------- 1 | .TableSmb .Table-cells > div:nth-child(2), 2 | .TableSmb .TableHeaderLayout-row .TableHeaderLayout-cell:nth-child(2) { 3 | max-width: 8em; 4 | } 5 | -------------------------------------------------------------------------------- /ui/sections/wizard/inspectors/system.reel/_system.css: -------------------------------------------------------------------------------- 1 | .System-wizard .AdvancedSection, 2 | .System-wizard .InspectorFooter { 3 | display: none !important; 4 | } 5 | -------------------------------------------------------------------------------- /ui/sections/wizard/inspectors/user.reel/table-users.reel/_table-users.css: -------------------------------------------------------------------------------- 1 | .TableUsers .Table-cells > div:nth-child(3), 2 | .TableUsers .TableHeaderLayout-row .TableHeaderLayout-cell:nth-child(3) { 3 | max-width: 12em; 4 | } 5 | -------------------------------------------------------------------------------- /ui/services/services.reel/_services.css: -------------------------------------------------------------------------------- 1 | .Services { 2 | 3 | } -------------------------------------------------------------------------------- /ui/widgets/arc-demand-data.reel/_arc-demand-data.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/ui/widgets/arc-demand-data.reel/_arc-demand-data.css -------------------------------------------------------------------------------- /ui/widgets/arc-demand-data.reel/arc-demand-data.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class ArcDemandData 5 | * @extends Component 6 | */ 7 | exports.ArcDemandData = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/widgets/cpu-usage.reel/_cpu-usage.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/ui/widgets/cpu-usage.reel/_cpu-usage.css -------------------------------------------------------------------------------- /ui/widgets/load-average.reel/_load-average.css: -------------------------------------------------------------------------------- 1 | .LoadAverage { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /ui/widgets/load-average.reel/load-average.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class LoadAverage 5 | * @extends Component 6 | */ 7 | exports.LoadAverage = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/widgets/memory-allocation.reel/_memory-allocation.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/freenas/gui/27bb8f1756fdeeb277565897e57f8cfc4e7764f9/ui/widgets/memory-allocation.reel/_memory-allocation.css -------------------------------------------------------------------------------- /ui/widgets/memory-allocation.reel/memory-allocation.js: -------------------------------------------------------------------------------- 1 | var Component = require("montage/ui/component").Component; 2 | 3 | /** 4 | * @class MemoryAllocation 5 | * @extends Component 6 | */ 7 | exports.MemoryAllocation = Component.specialize(); 8 | -------------------------------------------------------------------------------- /ui/widgets/network-traffic.reel/_network-traffic.css: -------------------------------------------------------------------------------- 1 | .NetworkTraffic { 2 | } 3 | -------------------------------------------------------------------------------- /ui/widgets/tasks.reel/_tasks.css: -------------------------------------------------------------------------------- 1 | .Tasks { 2 | 3 | & .Widget { min-height: 19em; } 4 | } 5 | --------------------------------------------------------------------------------