diff --git a/src/app/main/content/components/angular-material/example-components.ts b/src/app/main/content/components/angular-material/example-components.ts index 59fb02c0..6d53ac15 100644 --- a/src/app/main/content/components/angular-material/example-components.ts +++ b/src/app/main/content/components/angular-material/example-components.ts @@ -1,3 +1,4 @@ +import { AutocompleteAutoActiveFirstOptionExample } from 'assets/angular-material-examples/autocomplete-auto-active-first-option/autocomplete-auto-active-first-option-example'; import { AutocompleteDisplayExample } from 'assets/angular-material-examples/autocomplete-display/autocomplete-display-example'; import { AutocompleteFilterExample } from 'assets/angular-material-examples/autocomplete-filter/autocomplete-filter-example'; import { AutocompleteOverviewExample } from 'assets/angular-material-examples/autocomplete-overview/autocomplete-overview-example'; @@ -37,13 +38,12 @@ import { MyTelInput, FormFieldCustomControlExample } from 'assets/angular-materi import { FormFieldErrorExample } from 'assets/angular-material-examples/form-field-error/form-field-error-example'; import { FormFieldHintExample } from 'assets/angular-material-examples/form-field-hint/form-field-hint-example'; import { FormFieldOverviewExample } from 'assets/angular-material-examples/form-field-overview/form-field-overview-example'; -import { FormFieldPlaceholderExample } from 'assets/angular-material-examples/form-field-placeholder/form-field-placeholder-example'; import { FormFieldPrefixSuffixExample } from 'assets/angular-material-examples/form-field-prefix-suffix/form-field-prefix-suffix-example'; import { FormFieldThemingExample } from 'assets/angular-material-examples/form-field-theming/form-field-theming-example'; import { GridListDynamicExample } from 'assets/angular-material-examples/grid-list-dynamic/grid-list-dynamic-example'; import { GridListOverviewExample } from 'assets/angular-material-examples/grid-list-overview/grid-list-overview-example'; import { IconOverviewExample } from 'assets/angular-material-examples/icon-overview/icon-overview-example'; -import { IconSvgExample } from 'assets/angular-material-examples/icon-svg/icon-svg-example'; +import { IconSvgExample } from 'assets/angular-material-examples/icon-svg-example/icon-svg-example'; import { InputAutosizeTextareaExample } from 'assets/angular-material-examples/input-autosize-textarea/input-autosize-textarea-example'; import { InputClearableExample } from 'assets/angular-material-examples/input-clearable/input-clearable-example'; import { InputErrorStateMatcherExample } from 'assets/angular-material-examples/input-error-state-matcher/input-error-state-matcher-example'; @@ -81,7 +81,6 @@ import { SelectOverviewExample } from 'assets/angular-material-examples/select-o import { SelectPanelClassExample } from 'assets/angular-material-examples/select-panel-class/select-panel-class-example'; import { SelectResetExample } from 'assets/angular-material-examples/select-reset/select-reset-example'; import { SelectValueBindingExample } from 'assets/angular-material-examples/select-value-binding/select-value-binding-example'; -import { SidenavFabExample } from 'assets/angular-material-examples/sidenav-fab/sidenav-fab-example'; import { SidenavOverviewExample } from 'assets/angular-material-examples/sidenav-overview/sidenav-overview-example'; import { SlideToggleConfigurableExample } from 'assets/angular-material-examples/slide-toggle-configurable/slide-toggle-configurable-example'; import { SlideToggleFormsExample } from 'assets/angular-material-examples/slide-toggle-forms/slide-toggle-forms-example'; @@ -104,9 +103,19 @@ import { ToolbarMultirowExample } from 'assets/angular-material-examples/toolbar import { ToolbarOverviewExample } from 'assets/angular-material-examples/toolbar-overview/toolbar-overview-example'; import { TooltipOverviewExample } from 'assets/angular-material-examples/tooltip-overview/tooltip-overview-example'; import { TooltipPositionExample } from 'assets/angular-material-examples/tooltip-position/tooltip-position-example'; +import { DatepickerCustomIconExample } from 'assets/angular-material-examples/datepicker-custom-icon/datepicker-custom-icon-example'; +import { SidenavAutosizeExample } from 'assets/angular-material-examples/sidenav-autosize/sidenav-autosize-example'; +import { SnackBarPositionExample } from 'assets/angular-material-examples/snack-bar-position/snack-bar-position-example'; +import { TableSelectionExample } from 'assets/angular-material-examples/table-selection/table-selection-example'; +import { TooltipDelayExample } from 'assets/angular-material-examples/tooltip-delay/tooltip-delay-example'; +import { TooltipManualExample } from 'assets/angular-material-examples/tooltip-manual/tooltip-manual-example'; +import { TooltipModifiedDefaultsExample } from 'assets/angular-material-examples/tooltip-modified-defaults/tooltip-modified-defaults-example'; +import { DividerOverviewExample } from 'assets/angular-material-examples/divider-overview/divider-overview-example'; +import { FormFieldLabelExample } from 'assets/angular-material-examples/form-field-label/form-field-label-example'; export const COMPONENT_MAP = { 'autocomplete' : [ + 'autocomplete-auto-active-first-option', 'autocomplete-simple', 'autocomplete-filter', 'autocomplete-display', @@ -118,6 +127,7 @@ export const COMPONENT_MAP = { ], 'datepicker' : [ 'datepicker-overview', + 'datepicker-custom-icon', 'datepicker-start-view', 'datepicker-value', 'datepicker-min-max', @@ -130,9 +140,11 @@ export const COMPONENT_MAP = { 'datepicker-moment', 'datepicker-formats' ], + 'divider' : [ + 'divider-overview' + ], 'form-field' : [ - 'form-field-overview', - 'form-field-placeholder', + 'form-field-label', 'form-field-hint', 'form-field-error', 'form-field-prefix-suffix', @@ -183,7 +195,7 @@ export const COMPONENT_MAP = { ], 'sidenav' : [ 'sidenav-overview', - 'sidenav-fab' + 'sidenav-autosize' ], 'toolbar' : [ 'toolbar-overview', @@ -252,14 +264,19 @@ export const COMPONENT_MAP = { ], 'tooltip' : [ 'tooltip-overview', - 'tooltip-position' + 'tooltip-position', + 'tooltip-delay', + 'tooltip-manual', + 'tooltip-modified-defaults' ], 'snackbar' : [ - 'snack-bar-overview' + 'snack-bar-overview', + 'snack-bar-position' ], 'data-table' : [ 'table-overview', 'table-basic', + 'table-selection', 'table-filtering', 'table-http' ], @@ -273,645 +290,694 @@ export const COMPONENT_MAP = { }; export const EXAMPLE_COMPONENTS = { - 'autocomplete-display' : { + 'autocomplete-auto-active-first-option': { + title : 'Highlight the first autocomplete option', + component : AutocompleteAutoActiveFirstOptionExample, + additionalFiles: null, + selectorName : null + }, + 'autocomplete-display' : { title : 'Display value autocomplete', component : AutocompleteDisplayExample, additionalFiles: null, selectorName : null }, - 'autocomplete-filter' : { + 'autocomplete-filter' : { title : 'Filter autocomplete', component : AutocompleteFilterExample, additionalFiles: null, selectorName : null }, - 'autocomplete-overview' : { + 'autocomplete-overview' : { title : 'Autocomplete overview', component : AutocompleteOverviewExample, additionalFiles: null, selectorName : null }, - 'autocomplete-simple' : { + 'autocomplete-simple' : { title : 'Simple autocomplete', component : AutocompleteSimpleExample, additionalFiles: null, selectorName : null }, - 'button-overview' : { + 'button-overview' : { title : 'Basic buttons', component : ButtonOverviewExample, additionalFiles: null, selectorName : null }, - 'button-toggle-exclusive' : { + 'button-toggle-exclusive' : { title : 'Exclusive selection', component : ButtonToggleExclusiveExample, additionalFiles: null, selectorName : null }, - 'button-toggle-overview' : { + 'button-toggle-overview' : { title : 'Basic button-toggles', component : ButtonToggleOverviewExample, additionalFiles: null, selectorName : null }, - 'button-types' : { + 'button-types' : { title : 'Button varieties', component : ButtonTypesExample, additionalFiles: null, selectorName : null }, - 'card-fancy' : { + 'card-fancy' : { title : 'Card with multiple sections', component : CardFancyExample, additionalFiles: null, selectorName : null }, - 'card-overview' : { + 'card-overview' : { title : 'Basic cards', component : CardOverviewExample, additionalFiles: null, selectorName : null }, - 'cdk-table-basic' : { + 'cdk-table-basic' : { title : 'Basic CDK data-table', component : CdkTableBasicExample, additionalFiles: null, selectorName : null }, - 'checkbox-configurable' : { + 'checkbox-configurable' : { title : 'Configurable checkbox', component : CheckboxConfigurableExample, additionalFiles: null, selectorName : null }, - 'checkbox-overview' : { + 'checkbox-overview' : { title : 'Basic checkboxes', component : CheckboxOverviewExample, additionalFiles: null, selectorName : null }, - 'chips-input' : { + 'chips-input' : { title : 'Chips with input', component : ChipsInputExample, additionalFiles: null, selectorName : null }, - 'chips-overview' : { + 'chips-overview' : { title : 'Basic chips', component : ChipsOverviewExample, additionalFiles: null, selectorName : null }, - 'chips-stacked' : { + 'chips-stacked' : { title : 'Stacked chips', component : ChipsStackedExample, additionalFiles: null, selectorName : null }, - 'datepicker-api' : { - title : 'Datepicker open method ', + 'datepicker-api' : { + title : 'Datepicker open method', component : DatepickerApiExample, additionalFiles: null, selectorName : null }, - 'datepicker-disabled' : { - title : 'Disabled datepicker ', + 'datepicker-custom-icon' : { + title : 'Datepicker custom icon', + component : DatepickerCustomIconExample, + additionalFiles: null, + selectorName : null + }, + 'datepicker-disabled' : { + title : 'Disabled datepicker', component : DatepickerDisabledExample, additionalFiles: null, selectorName : null }, - 'datepicker-events' : { - title : 'Datepicker input and change events ', + 'datepicker-events' : { + title : 'Datepicker input and change events', component : DatepickerEventsExample, additionalFiles: null, selectorName : null }, - 'datepicker-filter' : { - title : 'Datepicker with filter validation ', + 'datepicker-filter' : { + title : 'Datepicker with filter validation', component : DatepickerFilterExample, additionalFiles: null, selectorName : null }, - 'datepicker-formats' : { - title : 'Datepicker with custom formats ', + 'datepicker-formats' : { + title : 'Datepicker with custom formats', component : DatepickerFormatsExample, additionalFiles: null, selectorName : null }, - 'datepicker-locale' : { - title : 'Datepicker with different locale ', + 'datepicker-locale' : { + title : 'Datepicker with different locale', component : DatepickerLocaleExample, additionalFiles: null, selectorName : null }, - 'datepicker-min-max' : { - title : 'Datepicker with min & max validation ', + 'datepicker-min-max' : { + title : 'Datepicker with min & max validation', component : DatepickerMinMaxExample, additionalFiles: null, selectorName : null }, - 'datepicker-moment' : { + 'datepicker-moment' : { title : 'Datepicker that uses Moment.js dates ', component : DatepickerMomentExample, additionalFiles: null, selectorName : null }, - 'datepicker-overview' : { + 'datepicker-overview' : { title : 'Basic datepicker ', component : DatepickerOverviewExample, additionalFiles: null, selectorName : null }, - 'datepicker-start-view' : { + 'datepicker-start-view' : { title : 'Datepicker start date ', component : DatepickerStartViewExample, additionalFiles: null, selectorName : null }, - 'datepicker-touch' : { + 'datepicker-touch' : { title : 'Datepicker touch UI ', component : DatepickerTouchExample, additionalFiles: null, selectorName : null }, - 'datepicker-value' : { + 'datepicker-value' : { title : 'Datepicker selected value ', component : DatepickerValueExample, additionalFiles: null, selectorName : null }, - 'dialog-content' : { + 'dialog-content' : { title : 'Dialog with header, scrollable content and actions', component : DialogContentExample, additionalFiles: ['dialog-content-example-dialog.html'], selectorName : 'DialogContentExample, DialogContentExampleDialog' }, - 'dialog-data' : { + 'dialog-data' : { title : 'Injecting data when opening a dialog', component : DialogDataExample, additionalFiles: ['dialog-data-example-dialog.html'], selectorName : 'DialogDataExample, DialogDataExampleDialog' }, - 'dialog-elements' : { + 'dialog-elements' : { title : 'Dialog elements', component : DialogElementsExample, additionalFiles: ['dialog-elements-example-dialog.html'], selectorName : 'DialogElementsExample, DialogElementsExampleDialog' }, - 'dialog-overview' : { + 'dialog-overview' : { title : 'Dialog Overview', component : DialogOverviewExample, additionalFiles: ['dialog-overview-example-dialog.html'], selectorName : 'DialogOverviewExample, DialogOverviewExampleDialog' }, - 'elevation-overview' : { + 'divider-overview' : { + title : 'Basic divider', + component : DividerOverviewExample, + additionalFiles: null, + selectorName : null + }, + 'elevation-overview' : { title : 'Elevation CSS classes', component : ElevationOverviewExample, additionalFiles: null, selectorName : null }, - 'expansion-overview' : { + 'expansion-overview' : { title : 'Basic expansion panel', component : ExpansionOverviewExample, additionalFiles: null, selectorName : null }, - 'expansion-steps' : { + 'expansion-steps' : { title : 'Expansion panel as accordion', component : ExpansionStepsExample, additionalFiles: null, selectorName : null }, - 'form-field-custom-control' : { + 'form-field-custom-control' : { title : 'Form field with custom telephone number input control. ', component : FormFieldCustomControlExample, additionalFiles: ['form-field-custom-control-example.html'], selectorName : 'FormFieldCustomControlExample, MyTelInput' }, - 'form-field-error' : { + 'form-field-error' : { title : 'Form field with error messages ', component : FormFieldErrorExample, additionalFiles: null, selectorName : null }, - 'form-field-hint' : { + 'form-field-hint' : { title : 'Form field with hints ', component : FormFieldHintExample, additionalFiles: null, selectorName : null }, - 'form-field-overview' : { + 'form-field-overview' : { title : 'Simple form field ', component : FormFieldOverviewExample, additionalFiles: null, selectorName : null }, - 'form-field-placeholder' : { - title : 'Form field with placeholder ', - component : FormFieldPlaceholderExample, + 'form-field-label' : { + title : 'Form field with label', + component : FormFieldLabelExample, additionalFiles: null, selectorName : null }, - 'form-field-prefix-suffix' : { + 'form-field-prefix-suffix' : { title : 'Form field with prefix & suffix ', component : FormFieldPrefixSuffixExample, additionalFiles: null, selectorName : null }, - 'form-field-theming' : { + 'form-field-theming' : { title : 'Form field theming ', component : FormFieldThemingExample, additionalFiles: null, selectorName : null }, - 'grid-list-dynamic' : { + 'grid-list-dynamic' : { title : 'Dynamic grid-list', component : GridListDynamicExample, additionalFiles: null, selectorName : null }, - 'grid-list-overview' : { + 'grid-list-overview' : { title : 'Basic grid-list', component : GridListOverviewExample, additionalFiles: null, selectorName : null }, - 'icon-overview' : { + 'icon-overview' : { title : 'Basic icons', component : IconOverviewExample, additionalFiles: null, selectorName : null }, - 'icon-svg' : { + 'icon-svg' : { title : 'SVG icons', component : IconSvgExample, additionalFiles: null, selectorName : null }, - 'input-autosize-textarea' : { + 'input-autosize-textarea' : { title : 'Auto-resizing textarea ', component : InputAutosizeTextareaExample, additionalFiles: null, selectorName : null }, - 'input-clearable' : { + 'input-clearable' : { title : 'Input with a clear button', component : InputClearableExample, additionalFiles: null, selectorName : null }, - 'input-error-state-matcher' : { + 'input-error-state-matcher' : { title : 'Input with a custom ErrorStateMatcher ', component : InputErrorStateMatcherExample, additionalFiles: null, selectorName : null }, - 'input-errors' : { + 'input-errors' : { title : 'Input with error messages', component : InputErrorsExample, additionalFiles: null, selectorName : null }, - 'input-form' : { + 'input-form' : { title : 'Inputs in a form', component : InputFormExample, additionalFiles: null, selectorName : null }, - 'input-hint' : { + 'input-hint' : { title : 'Input with hints', component : InputHintExample, additionalFiles: null, selectorName : null }, - 'input-overview' : { + 'input-overview' : { title : 'Basic Inputs', component : InputOverviewExample, additionalFiles: null, selectorName : null }, - 'input-prefix-suffix' : { + 'input-prefix-suffix' : { title : 'Inputs with prefixes and suffixes', component : InputPrefixSuffixExample, additionalFiles: null, selectorName : null }, - 'list-overview' : { + 'list-overview' : { title : 'Basic list', component : ListOverviewExample, additionalFiles: null, selectorName : null }, - 'list-sections' : { + 'list-sections' : { title : 'List with sections', component : ListSectionsExample, additionalFiles: null, selectorName : null }, - 'list-selection' : { + 'list-selection' : { title : 'List with selection', component : ListSelectionExample, additionalFiles: null, selectorName : null }, - 'menu-icons' : { + 'menu-icons' : { title : 'Menu with icons', component : MenuIconsExample, additionalFiles: null, selectorName : null }, - 'menu-overview' : { + 'menu-overview' : { title : 'Basic menu', component : MenuOverviewExample, additionalFiles: null, selectorName : null }, - 'nested-menu' : { + 'nested-menu' : { title : 'Nested menu', component : NestedMenuExample, additionalFiles: null, selectorName : null }, - 'paginator-configurable' : { + 'paginator-configurable' : { title : 'Configurable paginator', component : PaginatorConfigurableExample, additionalFiles: null, selectorName : null }, - 'paginator-overview' : { + 'paginator-overview' : { title : 'Paginator', component : PaginatorOverviewExample, additionalFiles: null, selectorName : null }, - 'progress-bar-buffer' : { + 'progress-bar-buffer' : { title : 'Buffer progress-bar', component : ProgressBarBufferExample, additionalFiles: null, selectorName : null }, - 'progress-bar-configurable' : { + 'progress-bar-configurable' : { title : 'Configurable progress-bar', component : ProgressBarConfigurableExample, additionalFiles: null, selectorName : null }, - 'progress-bar-determinate' : { + 'progress-bar-determinate' : { title : 'Determinate progress-bar', component : ProgressBarDeterminateExample, additionalFiles: null, selectorName : null }, - 'progress-bar-indeterminate' : { + 'progress-bar-indeterminate' : { title : 'Indeterminate progress-bar', component : ProgressBarIndeterminateExample, additionalFiles: null, selectorName : null }, - 'progress-bar-query' : { + 'progress-bar-query' : { title : 'Query progress-bar', component : ProgressBarQueryExample, additionalFiles: null, selectorName : null }, - 'progress-spinner-configurable': { + 'progress-spinner-configurable' : { title : 'Configurable progress spinner', component : ProgressSpinnerConfigurableExample, additionalFiles: null, selectorName : null }, - 'progress-spinner-overview' : { + 'progress-spinner-overview' : { title : 'Basic progress-spinner', component : ProgressSpinnerOverviewExample, additionalFiles: null, selectorName : null }, - 'radio-ng-model' : { + 'radio-ng-model' : { title : 'Radios with ngModel', component : RadioNgModelExample, additionalFiles: null, selectorName : null }, - 'radio-overview' : { + 'radio-overview' : { title : 'Basic radios', component : RadioOverviewExample, additionalFiles: null, selectorName : null }, - 'select-custom-trigger' : { + 'select-custom-trigger' : { title : 'Select with custom trigger text ', component : SelectCustomTriggerExample, additionalFiles: null, selectorName : null }, - 'select-disabled' : { + 'select-disabled' : { title : 'Disabled select ', component : SelectDisabledExample, additionalFiles: null, selectorName : null }, - 'select-error-state-matcher' : { + 'select-error-state-matcher' : { title : 'Select with a custom ErrorStateMatcher ', component : SelectErrorStateMatcherExample, additionalFiles: null, selectorName : null }, - 'select-form' : { + 'select-form' : { title : 'Select in a form', component : SelectFormExample, additionalFiles: null, selectorName : null }, - 'select-hint-error' : { + 'select-hint-error' : { title : 'Select with form field features ', component : SelectHintErrorExample, additionalFiles: null, selectorName : null }, - 'select-multiple' : { + 'select-multiple' : { title : 'Select with multiple selection ', component : SelectMultipleExample, additionalFiles: null, selectorName : null }, - 'select-no-ripple' : { + 'select-no-ripple' : { title : 'Select with no option ripple ', component : SelectNoRippleExample, additionalFiles: null, selectorName : null }, - 'select-optgroup' : { + 'select-optgroup' : { title : 'Select with option groups ', component : SelectOptgroupExample, additionalFiles: null, selectorName : null }, - 'select-overview' : { + 'select-overview' : { title : 'Basic select', component : SelectOverviewExample, additionalFiles: null, selectorName : null }, - 'select-panel-class' : { + 'select-panel-class' : { title : 'Select with custom panel styling', component : SelectPanelClassExample, additionalFiles: null, selectorName : null }, - 'select-reset' : { + 'select-reset' : { title : 'Select with reset option ', component : SelectResetExample, additionalFiles: null, selectorName : null }, - 'select-value-binding' : { + 'select-value-binding' : { title : 'Select with 2-way value binding ', component : SelectValueBindingExample, additionalFiles: null, selectorName : null }, - 'sidenav-fab' : { - title : 'Sidenav with a FAB', - component : SidenavFabExample, - additionalFiles: null, - selectorName : null - }, - 'sidenav-overview' : { + 'sidenav-overview' : { title : 'Basic sidenav', component : SidenavOverviewExample, additionalFiles: null, selectorName : null }, - 'slide-toggle-configurable' : { + 'sidenav-autosize' : { + title : 'Autosize sidenav', + component : SidenavAutosizeExample, + additionalFiles: null, + selectorName : null + }, + 'slide-toggle-configurable' : { title : 'Configurable slide-toggle', component : SlideToggleConfigurableExample, additionalFiles: null, selectorName : null }, - 'slide-toggle-forms' : { + 'slide-toggle-forms' : { title : 'Slide-toggle with forms', component : SlideToggleFormsExample, additionalFiles: null, selectorName : null }, - 'slide-toggle-overview' : { + 'slide-toggle-overview' : { title : 'Basic slide-toggles', component : SlideToggleOverviewExample, additionalFiles: null, selectorName : null }, - 'slider-configurable' : { + 'slider-configurable' : { title : 'Configurable slider', component : SliderConfigurableExample, additionalFiles: null, selectorName : null }, - 'slider-overview' : { + 'slider-overview' : { title : 'Basic slider', component : SliderOverviewExample, additionalFiles: null, selectorName : null }, - 'snack-bar-component' : { + 'snack-bar-component' : { title : 'Snack-bar with a custom component', component : SnackBarComponentExample, additionalFiles: ['snack-bar-component-example-snack.html'], selectorName : 'SnackBarComponentExample, PizzaPartyComponent' }, - 'snack-bar-overview' : { + 'snack-bar-overview' : { title : 'Basic snack-bar', component : SnackBarOverviewExample, additionalFiles: null, selectorName : null }, - 'sort-overview' : { + 'snack-bar-position' : { + title : 'Snack-bar with different positions', + component : SnackBarPositionExample, + additionalFiles: null, + selectorName : null + }, + 'sort-overview' : { title : 'Sorting overview', component : SortOverviewExample, additionalFiles: null, selectorName : null }, - 'stepper-overview' : { + 'stepper-overview' : { title : 'Stepper overview', component : StepperOverviewExample, additionalFiles: null, selectorName : null }, - 'table-basic' : { + 'table-basic' : { title : 'Basic table', component : TableBasicExample, additionalFiles: null, selectorName : null }, - 'table-filtering' : { + 'table-selection' : { + title : 'Table with selection', + component : TableSelectionExample, + additionalFiles: null, + selectorName : null + }, + 'table-filtering' : { title : 'Table with filtering', component : TableFilteringExample, additionalFiles: null, selectorName : null }, - 'table-http' : { + 'table-http' : { title : 'Table retrieving data through HTTP', component : TableHttpExample, additionalFiles: null, selectorName : null }, - 'table-overview' : { + 'table-overview' : { title : 'Data table with sorting, pagination, and filtering.', component : TableOverviewExample, additionalFiles: null, selectorName : null }, - 'table-pagination' : { + 'table-pagination' : { title : 'Table with pagination', component : TablePaginationExample, additionalFiles: null, selectorName : null }, - 'table-sorting' : { + 'table-sorting' : { title : 'Table with sorting', component : TableSortingExample, additionalFiles: null, selectorName : null }, - 'tabs-overview' : { + 'tabs-overview' : { title : 'Basic tabs', component : TabsOverviewExample, additionalFiles: null, selectorName : null }, - 'tabs-template-label' : { + 'tabs-template-label' : { title : 'Complex Example', component : TabsTemplateLabelExample, additionalFiles: null, selectorName : null }, - 'toolbar-multirow' : { + 'toolbar-multirow' : { title : 'Multi-row toolbar', component : ToolbarMultirowExample, additionalFiles: null, selectorName : null }, - 'toolbar-overview' : { + 'toolbar-overview' : { title : 'Basic toolbar', component : ToolbarOverviewExample, additionalFiles: null, selectorName : null }, - 'tooltip-overview' : { + 'tooltip-overview' : { title : 'Basic tooltip', component : TooltipOverviewExample, additionalFiles: null, selectorName : null }, - 'tooltip-position' : { + 'tooltip-position' : { title : 'Tooltip with custom position', component : TooltipPositionExample, additionalFiles: null, selectorName : null + }, + 'tooltip-delay' : { + title : 'Tooltip with a show and hide delay', + component : TooltipDelayExample, + additionalFiles: null, + selectorName : null + }, + 'tooltip-manual' : { + title : 'Tooltip that can be manually shown/hidden.', + component : TooltipManualExample, + additionalFiles: null, + selectorName : null + }, + 'tooltip-modified-defaults' : { + title : 'Tooltip with modified defaults', + component : TooltipModifiedDefaultsExample, + additionalFiles: null, + selectorName : null } }; export const EXAMPLE_LIST = [ + AutocompleteAutoActiveFirstOptionExample, AutocompleteDisplayExample, AutocompleteFilterExample, AutocompleteOverviewExample, @@ -929,6 +995,7 @@ export const EXAMPLE_LIST = [ ChipsOverviewExample, ChipsStackedExample, DatepickerApiExample, + DatepickerCustomIconExample, DatepickerDisabledExample, DatepickerEventsExample, DatepickerFilterExample, @@ -944,6 +1011,7 @@ export const EXAMPLE_LIST = [ DialogDataExampleDialog, DialogDataExample, DialogElementsExampleDialog, DialogElementsExample, DialogOverviewExampleDialog, DialogOverviewExample, + DividerOverviewExample, ElevationOverviewExample, ExpansionOverviewExample, ExpansionStepsExample, @@ -951,7 +1019,7 @@ export const EXAMPLE_LIST = [ FormFieldErrorExample, FormFieldHintExample, FormFieldOverviewExample, - FormFieldPlaceholderExample, + FormFieldLabelExample, FormFieldPrefixSuffixExample, FormFieldThemingExample, GridListDynamicExample, @@ -995,8 +1063,9 @@ export const EXAMPLE_LIST = [ SelectPanelClassExample, SelectResetExample, SelectValueBindingExample, - SidenavFabExample, + SidenavAutosizeExample, SidenavOverviewExample, + SnackBarPositionExample, SlideToggleConfigurableExample, SlideToggleFormsExample, SlideToggleOverviewExample, @@ -1007,6 +1076,7 @@ export const EXAMPLE_LIST = [ SortOverviewExample, StepperOverviewExample, TableBasicExample, + TableSelectionExample, TableFilteringExample, TableHttpExample, TableOverviewExample, @@ -1017,5 +1087,8 @@ export const EXAMPLE_LIST = [ ToolbarMultirowExample, ToolbarOverviewExample, TooltipOverviewExample, + TooltipDelayExample, + TooltipManualExample, + TooltipModifiedDefaultsExample, TooltipPositionExample ]; diff --git a/src/app/navigation/navigation.ts b/src/app/navigation/navigation.ts index 44cb879c..f7bfd636 100644 --- a/src/app/navigation/navigation.ts +++ b/src/app/navigation/navigation.ts @@ -685,6 +685,12 @@ export const navigation = [ 'type' : 'item', 'url' : '/components/angular-material/card' }, + { + 'id' : 'divider', + 'title': 'Divider', + 'type' : 'item', + 'url' : '/components/angular-material/divider' + }, { 'id' : 'stepper', 'title': 'Stepper', diff --git a/src/assets/angular-material-examples/autocomplete-auto-active-first-option/autocomplete-auto-active-first-option-example.css b/src/assets/angular-material-examples/autocomplete-auto-active-first-option/autocomplete-auto-active-first-option-example.css new file mode 100755 index 00000000..08fa6753 --- /dev/null +++ b/src/assets/angular-material-examples/autocomplete-auto-active-first-option/autocomplete-auto-active-first-option-example.css @@ -0,0 +1,9 @@ +.example-form { + min-width: 150px; + max-width: 500px; + width: 100%; +} + +.example-full-width { + width: 100%; +} diff --git a/src/assets/angular-material-examples/autocomplete-auto-active-first-option/autocomplete-auto-active-first-option-example.html b/src/assets/angular-material-examples/autocomplete-auto-active-first-option/autocomplete-auto-active-first-option-example.html new file mode 100755 index 00000000..45090946 --- /dev/null +++ b/src/assets/angular-material-examples/autocomplete-auto-active-first-option/autocomplete-auto-active-first-option-example.html @@ -0,0 +1,10 @@ +
+ + + + + {{ option }} + + + +
diff --git a/src/assets/angular-material-examples/autocomplete-auto-active-first-option/autocomplete-auto-active-first-option-example.ts b/src/assets/angular-material-examples/autocomplete-auto-active-first-option/autocomplete-auto-active-first-option-example.ts new file mode 100755 index 00000000..64868772 --- /dev/null +++ b/src/assets/angular-material-examples/autocomplete-auto-active-first-option/autocomplete-auto-active-first-option-example.ts @@ -0,0 +1,31 @@ +import {Component} from '@angular/core'; +import {FormControl} from '@angular/forms'; +import {Observable} from 'rxjs/Observable'; +import {startWith} from 'rxjs/operators/startWith'; +import {map} from 'rxjs/operators/map'; + +/** + * @title Highlight the first autocomplete option + */ +@Component({ + selector: 'autocomplete-auto-active-first-option-example', + templateUrl: 'autocomplete-auto-active-first-option-example.html', + styleUrls: ['autocomplete-auto-active-first-option-example.css'] +}) +export class AutocompleteAutoActiveFirstOptionExample { + myControl: FormControl = new FormControl(); + options = ['One', 'Two', 'Three']; + filteredOptions: Observable; + + ngOnInit() { + this.filteredOptions = this.myControl.valueChanges.pipe( + startWith(''), + map(val => this.filter(val)) + ); + } + + filter(val: string): string[] { + return this.options.filter(option => option.toLowerCase().indexOf(val.toLowerCase()) === 0); + } + +} diff --git a/src/assets/angular-material-examples/icon-svg/icon-svg-example.css b/src/assets/angular-material-examples/datepicker-custom-icon/datepicker-custom-icon-example.css old mode 100644 new mode 100755 similarity index 100% rename from src/assets/angular-material-examples/icon-svg/icon-svg-example.css rename to src/assets/angular-material-examples/datepicker-custom-icon/datepicker-custom-icon-example.css diff --git a/src/assets/angular-material-examples/datepicker-custom-icon/datepicker-custom-icon-example.html b/src/assets/angular-material-examples/datepicker-custom-icon/datepicker-custom-icon-example.html new file mode 100755 index 00000000..a1b4e5d5 --- /dev/null +++ b/src/assets/angular-material-examples/datepicker-custom-icon/datepicker-custom-icon-example.html @@ -0,0 +1,7 @@ + + + + keyboard_arrow_down + + + diff --git a/src/assets/angular-material-examples/datepicker-custom-icon/datepicker-custom-icon-example.ts b/src/assets/angular-material-examples/datepicker-custom-icon/datepicker-custom-icon-example.ts new file mode 100755 index 00000000..115dab66 --- /dev/null +++ b/src/assets/angular-material-examples/datepicker-custom-icon/datepicker-custom-icon-example.ts @@ -0,0 +1,9 @@ +import {Component} from '@angular/core'; + +/** @title Datepicker with custom icon */ +@Component({ + selector: 'datepicker-custom-icon-example', + templateUrl: 'datepicker-custom-icon-example.html', + styleUrls: ['datepicker-custom-icon-example.css'], +}) +export class DatepickerCustomIconExample {} diff --git a/src/assets/angular-material-examples/divider-overview/divider-overview-example.css b/src/assets/angular-material-examples/divider-overview/divider-overview-example.css new file mode 100755 index 00000000..74323087 --- /dev/null +++ b/src/assets/angular-material-examples/divider-overview/divider-overview-example.css @@ -0,0 +1 @@ +/** No CSS for this example */ diff --git a/src/assets/angular-material-examples/divider-overview/divider-overview-example.html b/src/assets/angular-material-examples/divider-overview/divider-overview-example.html new file mode 100755 index 00000000..c0e121f0 --- /dev/null +++ b/src/assets/angular-material-examples/divider-overview/divider-overview-example.html @@ -0,0 +1,7 @@ + + Item 1 + + Item 2 + + Item 3 + diff --git a/src/assets/angular-material-examples/divider-overview/divider-overview-example.ts b/src/assets/angular-material-examples/divider-overview/divider-overview-example.ts new file mode 100755 index 00000000..536b600e --- /dev/null +++ b/src/assets/angular-material-examples/divider-overview/divider-overview-example.ts @@ -0,0 +1,11 @@ +import {Component} from '@angular/core'; + +/** + * @title Basic divider + */ +@Component({ + selector: 'divider-overview-example', + templateUrl: 'divider-overview-example.html', + styleUrls: ['divider-overview-example.css'], +}) +export class DividerOverviewExample {} diff --git a/src/assets/angular-material-examples/form-field-placeholder/form-field-placeholder-example.css b/src/assets/angular-material-examples/form-field-label/form-field-label-example.css old mode 100644 new mode 100755 similarity index 54% rename from src/assets/angular-material-examples/form-field-placeholder/form-field-placeholder-example.css rename to src/assets/angular-material-examples/form-field-label/form-field-label-example.css index 4118084a..333087a4 --- a/src/assets/angular-material-examples/form-field-placeholder/form-field-placeholder-example.css +++ b/src/assets/angular-material-examples/form-field-label/form-field-label-example.css @@ -1,20 +1,20 @@ .example-container { - display: flex; - flex-direction: column; + display: flex; + flex-direction: column; } .example-container > * { - width: 100%; + width: 100%; } .example-container form { - margin-bottom: 20px; + margin-bottom: 20px; } .example-container form > * { - margin: 5px 0; + margin: 5px 0; } .example-container .mat-radio-button { - margin: 0 5px; + margin: 0 5px; } diff --git a/src/assets/angular-material-examples/form-field-label/form-field-label-example.html b/src/assets/angular-material-examples/form-field-label/form-field-label-example.html new file mode 100755 index 00000000..0f7066bb --- /dev/null +++ b/src/assets/angular-material-examples/form-field-label/form-field-label-example.html @@ -0,0 +1,34 @@ +
+
+ Hide required marker +
+ + + Auto + Always + Never + +
+
+ + + + + + + Both a label and a placeholder + + + + + + -- None -- + Option + + favorite Fancy placeholder + +
diff --git a/src/assets/angular-material-examples/form-field-label/form-field-label-example.ts b/src/assets/angular-material-examples/form-field-label/form-field-label-example.ts new file mode 100755 index 00000000..4ebb56e3 --- /dev/null +++ b/src/assets/angular-material-examples/form-field-label/form-field-label-example.ts @@ -0,0 +1,19 @@ +import {Component} from '@angular/core'; +import {FormBuilder, FormGroup} from '@angular/forms'; + +/** @title Form field with label */ +@Component({ + selector: 'form-field-label-example', + templateUrl: 'form-field-label-example.html', + styleUrls: ['form-field-label-example.css'] +}) +export class FormFieldLabelExample { + options: FormGroup; + + constructor(fb: FormBuilder) { + this.options = fb.group({ + hideRequired: false, + floatLabel: 'auto', + }); + } +} diff --git a/src/assets/angular-material-examples/form-field-placeholder/form-field-placeholder-example.html b/src/assets/angular-material-examples/form-field-placeholder/form-field-placeholder-example.html deleted file mode 100644 index 384e461c..00000000 --- a/src/assets/angular-material-examples/form-field-placeholder/form-field-placeholder-example.html +++ /dev/null @@ -1,31 +0,0 @@ -
-
- Hide required marker -
- - - Auto - Always - Never - -
-
- - - - - - - - -- None -- - Option - - - favorite - Fancy placeholder - -
diff --git a/src/assets/angular-material-examples/form-field-placeholder/form-field-placeholder-example.ts b/src/assets/angular-material-examples/form-field-placeholder/form-field-placeholder-example.ts deleted file mode 100644 index 92fb35c5..00000000 --- a/src/assets/angular-material-examples/form-field-placeholder/form-field-placeholder-example.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Component } from '@angular/core'; -import { FormBuilder, FormGroup } from '@angular/forms'; - -/** @title Form field with placeholder */ -@Component({ - selector : 'form-field-placeholder-example', - templateUrl: 'form-field-placeholder-example.html', - styleUrls : ['form-field-placeholder-example.css'] -}) -export class FormFieldPlaceholderExample -{ - options: FormGroup; - - constructor(fb: FormBuilder) - { - this.options = fb.group({ - hideRequired : false, - floatPlaceholder: 'auto' - }); - } -} diff --git a/src/assets/angular-material-examples/icon-svg-example/icon-svg-example.css b/src/assets/angular-material-examples/icon-svg-example/icon-svg-example.css new file mode 100755 index 00000000..74323087 --- /dev/null +++ b/src/assets/angular-material-examples/icon-svg-example/icon-svg-example.css @@ -0,0 +1 @@ +/** No CSS for this example */ diff --git a/src/assets/angular-material-examples/icon-svg/icon-svg-example.html b/src/assets/angular-material-examples/icon-svg-example/icon-svg-example.html old mode 100644 new mode 100755 similarity index 100% rename from src/assets/angular-material-examples/icon-svg/icon-svg-example.html rename to src/assets/angular-material-examples/icon-svg-example/icon-svg-example.html diff --git a/src/assets/angular-material-examples/icon-svg-example/icon-svg-example.ts b/src/assets/angular-material-examples/icon-svg-example/icon-svg-example.ts new file mode 100755 index 00000000..21c4c03a --- /dev/null +++ b/src/assets/angular-material-examples/icon-svg-example/icon-svg-example.ts @@ -0,0 +1,19 @@ +import {Component} from '@angular/core'; +import {DomSanitizer} from '@angular/platform-browser'; +import {MatIconRegistry} from '@angular/material'; + +/** + * @title SVG icons + */ +@Component({ + selector: 'icon-svg-example', + templateUrl: 'icon-svg-example.html', + styleUrls: ['icon-svg-example.css'], +}) +export class IconSvgExample { + constructor(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer) { + iconRegistry.addSvgIcon( + 'thumbs-up', + sanitizer.bypassSecurityTrustResourceUrl('assets/images/examples/thumbup-icon.svg')); + } +} diff --git a/src/assets/angular-material-examples/icon-svg/icon-svg-example.ts b/src/assets/angular-material-examples/icon-svg/icon-svg-example.ts deleted file mode 100644 index 4cea0740..00000000 --- a/src/assets/angular-material-examples/icon-svg/icon-svg-example.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Component } from '@angular/core'; -import { DomSanitizer } from '@angular/platform-browser'; -import { MatIconRegistry } from '@angular/material'; - -/** - * @title SVG icons - */ -@Component({ - selector : 'icon-svg-example', - templateUrl: 'icon-svg-example.html' -}) -export class IconSvgExample -{ - constructor(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer) - { - iconRegistry.addSvgIcon( - 'thumbs-up', - sanitizer.bypassSecurityTrustResourceUrl('assets/images/examples/thumbup-icon.svg')); - } -} diff --git a/src/assets/angular-material-examples/sidenav-autosize/sidenav-autosize-example.css b/src/assets/angular-material-examples/sidenav-autosize/sidenav-autosize-example.css new file mode 100755 index 00000000..8ab00588 --- /dev/null +++ b/src/assets/angular-material-examples/sidenav-autosize/sidenav-autosize-example.css @@ -0,0 +1,16 @@ +.example-container { + width: 500px; + height: 300px; + border: 1px solid rgba(0, 0, 0, 0.5); +} + +.example-sidenav-content { + display: flex; + height: 100%; + align-items: center; + justify-content: center; +} + +.example-sidenav { + padding: 20px; +} diff --git a/src/assets/angular-material-examples/sidenav-autosize/sidenav-autosize-example.html b/src/assets/angular-material-examples/sidenav-autosize/sidenav-autosize-example.html new file mode 100755 index 00000000..f9326a38 --- /dev/null +++ b/src/assets/angular-material-examples/sidenav-autosize/sidenav-autosize-example.html @@ -0,0 +1,16 @@ + + +

Auto-resizing sidenav

+

Lorem, ipsum dolor sit amet consectetur.

+ +
+ +
+ +
+ +
diff --git a/src/assets/angular-material-examples/sidenav-autosize/sidenav-autosize-example.ts b/src/assets/angular-material-examples/sidenav-autosize/sidenav-autosize-example.ts new file mode 100755 index 00000000..f7565c09 --- /dev/null +++ b/src/assets/angular-material-examples/sidenav-autosize/sidenav-autosize-example.ts @@ -0,0 +1,13 @@ +import {Component} from '@angular/core'; + +/** + * @title Autosize sidenav + */ +@Component({ + selector: 'sidenav-autosize-example', + templateUrl: 'sidenav-autosize-example.html', + styleUrls: ['sidenav-autosize-example.css'], +}) +export class SidenavAutosizeExample { + showFiller = false; +} diff --git a/src/assets/angular-material-examples/sidenav-fab/sidenav-fab-example.css b/src/assets/angular-material-examples/sidenav-fab/sidenav-fab-example.css deleted file mode 100644 index d98e36e9..00000000 --- a/src/assets/angular-material-examples/sidenav-fab/sidenav-fab-example.css +++ /dev/null @@ -1,26 +0,0 @@ -.example-sidenav-fab-container { - width: 500px; - height: 300px; - border: 1px solid rgba(0, 0, 0, 0.5); -} - -.example-sidenav-fab-container mat-sidenav { - max-width: 200px; -} - -.example-sidenav-fab-container .mat-sidenav-content, -.example-sidenav-fab-container mat-sidenav { - display: flex; - overflow: visible; -} - -.example-scrolling-content { - overflow: auto; - height: 100%; -} - -.example-fab.mat-mini-fab { - position: absolute; - right: 20px; - bottom: 10px; -} diff --git a/src/assets/angular-material-examples/sidenav-fab/sidenav-fab-example.html b/src/assets/angular-material-examples/sidenav-fab/sidenav-fab-example.html deleted file mode 100644 index 319ba69f..00000000 --- a/src/assets/angular-material-examples/sidenav-fab/sidenav-fab-example.html +++ /dev/null @@ -1,32 +0,0 @@ - - - -
- Lorem ipsum dolor sit amet, pede a libero aenean phasellus, lectus metus sint ut risus, - fusce vel in pellentesque. Nisl rutrum etiam morbi consectetuer tempor magna, aenean nullam - nunc id, neque vivamus interdum sociis nulla scelerisque sem, dolor id wisi turpis magna - aliquam magna. Risus accumsan hac eget etiam donec sed, senectus erat mattis quam, tempor - vel urna occaecat cras, metus urna augue nec at. Et morbi amet dui praesent, nec eu at, - ligula ipsum dui sollicitudin, quis nisl massa viverra ligula, mauris fermentum orci arcu - enim fringilla. Arcu erat nulla in aenean lacinia ullamcorper, urna ante nam et sagittis, - tristique vehicula nibh ipsum vivamus, proin proin. Porta commodo nibh quis libero amet. - Taciti dui, sapien consectetuer. -
-
- -
- Lorem ipsum dolor sit amet, pede a libero aenean phasellus, lectus metus sint ut risus, fusce - vel in pellentesque. Nisl rutrum etiam morbi consectetuer tempor magna, aenean nullam nunc id, - neque vivamus interdum sociis nulla scelerisque sem, dolor id wisi turpis magna aliquam magna. - Risus accumsan hac eget etiam donec sed, senectus erat mattis quam, tempor vel urna occaecat - cras, metus urna augue nec at. Et morbi amet dui praesent, nec eu at, ligula ipsum dui - sollicitudin, quis nisl massa viverra ligula, mauris fermentum orci arcu enim fringilla. Arcu - erat nulla in aenean lacinia ullamcorper, urna ante nam et sagittis, tristique vehicula nibh - ipsum vivamus, proin proin. Porta commodo nibh quis libero amet. Taciti dui, sapien - consectetuer. -
-
diff --git a/src/assets/angular-material-examples/sidenav-fab/sidenav-fab-example.ts b/src/assets/angular-material-examples/sidenav-fab/sidenav-fab-example.ts deleted file mode 100644 index 17945be6..00000000 --- a/src/assets/angular-material-examples/sidenav-fab/sidenav-fab-example.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Component, ViewEncapsulation } from '@angular/core'; - -/** - * @title Sidenav with a FAB - */ -@Component({ - selector : 'sidenav-fab-example', - templateUrl : 'sidenav-fab-example.html', - styleUrls : ['sidenav-fab-example.css'], - encapsulation : ViewEncapsulation.None, - preserveWhitespaces: false -}) -export class SidenavFabExample -{ -} diff --git a/src/assets/angular-material-examples/snack-bar-position/snack-bar-position-example.html b/src/assets/angular-material-examples/snack-bar-position/snack-bar-position-example.html new file mode 100755 index 00000000..ddfe4aa6 --- /dev/null +++ b/src/assets/angular-material-examples/snack-bar-position/snack-bar-position-example.html @@ -0,0 +1,19 @@ + + + Start + Center + End + Left + Right + + + + + Top + Bottom + + + + diff --git a/src/assets/angular-material-examples/snack-bar-position/snack-bar-position-example.ts b/src/assets/angular-material-examples/snack-bar-position/snack-bar-position-example.ts new file mode 100755 index 00000000..f18d10fe --- /dev/null +++ b/src/assets/angular-material-examples/snack-bar-position/snack-bar-position-example.ts @@ -0,0 +1,29 @@ +import {Component} from '@angular/core'; +import { + MatSnackBar, + MatSnackBarHorizontalPosition, + MatSnackBarVerticalPosition, +} from '@angular/material'; + +/** + * @title Snack-bar with configurable position + */ +@Component({ + selector: 'snack-bar-position-example', + templateUrl: 'snack-bar-position-example.html', +}) +export class SnackBarPositionExample { + + horizontalPosition: MatSnackBarHorizontalPosition = 'start'; + verticalPosition: MatSnackBarVerticalPosition = 'bottom'; + + constructor(public snackBar: MatSnackBar) {} + + openSnackBar() { + this.snackBar.open('Canonball!!', 'End now', { + duration: 500, + horizontalPosition: this.horizontalPosition, + verticalPosition: this.verticalPosition, + }); + } +} diff --git a/src/assets/angular-material-examples/table-selection/table-selection-example.css b/src/assets/angular-material-examples/table-selection/table-selection-example.css new file mode 100755 index 00000000..ee01a3c8 --- /dev/null +++ b/src/assets/angular-material-examples/table-selection/table-selection-example.css @@ -0,0 +1,15 @@ +.example-container { + display: flex; + flex-direction: column; + max-height: 500px; + min-width: 300px; +} + +.mat-table { + overflow: auto; + max-height: 500px; +} + +.mat-column-select { + overflow: visible; +} diff --git a/src/assets/angular-material-examples/table-selection/table-selection-example.html b/src/assets/angular-material-examples/table-selection/table-selection-example.html new file mode 100755 index 00000000..9f920558 --- /dev/null +++ b/src/assets/angular-material-examples/table-selection/table-selection-example.html @@ -0,0 +1,49 @@ +
+ + + + + + + + + + + + + + + + + No. + {{element.position}} + + + + + Name + {{element.name}} + + + + + Weight + {{element.weight}} + + + + + Symbol + {{element.symbol}} + + + + + + +
diff --git a/src/assets/angular-material-examples/table-selection/table-selection-example.ts b/src/assets/angular-material-examples/table-selection/table-selection-example.ts new file mode 100755 index 00000000..88e72ead --- /dev/null +++ b/src/assets/angular-material-examples/table-selection/table-selection-example.ts @@ -0,0 +1,61 @@ +import {Component} from '@angular/core'; +import {MatTableDataSource} from '@angular/material'; +import {SelectionModel} from '@angular/cdk/collections'; + +/** + * @title Table with selection + */ +@Component({ + selector: 'table-selection-example', + styleUrls: ['table-selection-example.css'], + templateUrl: 'table-selection-example.html', +}) +export class TableSelectionExample { + displayedColumns = ['select', 'position', 'name', 'weight', 'symbol']; + dataSource = new MatTableDataSource(ELEMENT_DATA); + selection = new SelectionModel(true, []); + + /** Whether the number of selected elements matches the total number of rows. */ + isAllSelected() { + const numSelected = this.selection.selected.length; + const numRows = this.dataSource.data.length; + return numSelected === numRows; + } + + /** Selects all rows if they are not all selected; otherwise clear selection. */ + masterToggle() { + this.isAllSelected() ? + this.selection.clear() : + this.dataSource.data.forEach(row => this.selection.select(row)); + } +} + +export interface Element { + name: string; + position: number; + weight: number; + symbol: string; +} + +const ELEMENT_DATA: Element[] = [ + {position: 1, name: 'Hydrogen', weight: 1.0079, symbol: 'H'}, + {position: 2, name: 'Helium', weight: 4.0026, symbol: 'He'}, + {position: 3, name: 'Lithium', weight: 6.941, symbol: 'Li'}, + {position: 4, name: 'Beryllium', weight: 9.0122, symbol: 'Be'}, + {position: 5, name: 'Boron', weight: 10.811, symbol: 'B'}, + {position: 6, name: 'Carbon', weight: 12.0107, symbol: 'C'}, + {position: 7, name: 'Nitrogen', weight: 14.0067, symbol: 'N'}, + {position: 8, name: 'Oxygen', weight: 15.9994, symbol: 'O'}, + {position: 9, name: 'Fluorine', weight: 18.9984, symbol: 'F'}, + {position: 10, name: 'Neon', weight: 20.1797, symbol: 'Ne'}, + {position: 11, name: 'Sodium', weight: 22.9897, symbol: 'Na'}, + {position: 12, name: 'Magnesium', weight: 24.305, symbol: 'Mg'}, + {position: 13, name: 'Aluminum', weight: 26.9815, symbol: 'Al'}, + {position: 14, name: 'Silicon', weight: 28.0855, symbol: 'Si'}, + {position: 15, name: 'Phosphorus', weight: 30.9738, symbol: 'P'}, + {position: 16, name: 'Sulfur', weight: 32.065, symbol: 'S'}, + {position: 17, name: 'Chlorine', weight: 35.453, symbol: 'Cl'}, + {position: 18, name: 'Argon', weight: 39.948, symbol: 'Ar'}, + {position: 19, name: 'Potassium', weight: 39.0983, symbol: 'K'}, + {position: 20, name: 'Calcium', weight: 40.078, symbol: 'Ca'}, +]; diff --git a/src/assets/angular-material-examples/tooltip-delay/tooltip-delay-example.css b/src/assets/angular-material-examples/tooltip-delay/tooltip-delay-example.css new file mode 100755 index 00000000..56d5205c --- /dev/null +++ b/src/assets/angular-material-examples/tooltip-delay/tooltip-delay-example.css @@ -0,0 +1,3 @@ +button { + margin: 8px; +} diff --git a/src/assets/angular-material-examples/tooltip-delay/tooltip-delay-example.html b/src/assets/angular-material-examples/tooltip-delay/tooltip-delay-example.html new file mode 100755 index 00000000..7cd4a164 --- /dev/null +++ b/src/assets/angular-material-examples/tooltip-delay/tooltip-delay-example.html @@ -0,0 +1,7 @@ + + + diff --git a/src/assets/angular-material-examples/tooltip-delay/tooltip-delay-example.ts b/src/assets/angular-material-examples/tooltip-delay/tooltip-delay-example.ts new file mode 100755 index 00000000..3e7ce9c5 --- /dev/null +++ b/src/assets/angular-material-examples/tooltip-delay/tooltip-delay-example.ts @@ -0,0 +1,11 @@ +import {Component} from '@angular/core'; + +/** + * @title Tooltip with a show and hide delay + */ +@Component({ + selector: 'tooltip-delay-example', + templateUrl: 'tooltip-delay-example.html', + styleUrls: ['tooltip-delay-example.css'], +}) +export class TooltipDelayExample {} diff --git a/src/assets/angular-material-examples/tooltip-manual/tooltip-manual-example.css b/src/assets/angular-material-examples/tooltip-manual/tooltip-manual-example.css new file mode 100755 index 00000000..74323087 --- /dev/null +++ b/src/assets/angular-material-examples/tooltip-manual/tooltip-manual-example.css @@ -0,0 +1 @@ +/** No CSS for this example */ diff --git a/src/assets/angular-material-examples/tooltip-manual/tooltip-manual-example.html b/src/assets/angular-material-examples/tooltip-manual/tooltip-manual-example.html new file mode 100755 index 00000000..3e5ca183 --- /dev/null +++ b/src/assets/angular-material-examples/tooltip-manual/tooltip-manual-example.html @@ -0,0 +1,5 @@ + + + + I have a tooltip + diff --git a/src/assets/angular-material-examples/tooltip-manual/tooltip-manual-example.ts b/src/assets/angular-material-examples/tooltip-manual/tooltip-manual-example.ts new file mode 100755 index 00000000..e39a760a --- /dev/null +++ b/src/assets/angular-material-examples/tooltip-manual/tooltip-manual-example.ts @@ -0,0 +1,11 @@ +import {Component} from '@angular/core'; + +/** + * @title Tooltip that can be manually shown/hidden. + */ +@Component({ + selector: 'tooltip-manual-example', + templateUrl: 'tooltip-manual-example.html', + styleUrls: ['tooltip-manual-example.css'], +}) +export class TooltipManualExample {} diff --git a/src/assets/angular-material-examples/tooltip-modified-defaults/tooltip-modified-defaults-example.css b/src/assets/angular-material-examples/tooltip-modified-defaults/tooltip-modified-defaults-example.css new file mode 100755 index 00000000..74323087 --- /dev/null +++ b/src/assets/angular-material-examples/tooltip-modified-defaults/tooltip-modified-defaults-example.css @@ -0,0 +1 @@ +/** No CSS for this example */ diff --git a/src/assets/angular-material-examples/tooltip-modified-defaults/tooltip-modified-defaults-example.html b/src/assets/angular-material-examples/tooltip-modified-defaults/tooltip-modified-defaults-example.html new file mode 100755 index 00000000..8dcc0d0e --- /dev/null +++ b/src/assets/angular-material-examples/tooltip-modified-defaults/tooltip-modified-defaults-example.html @@ -0,0 +1,3 @@ + diff --git a/src/assets/angular-material-examples/tooltip-modified-defaults/tooltip-modified-defaults-example.ts b/src/assets/angular-material-examples/tooltip-modified-defaults/tooltip-modified-defaults-example.ts new file mode 100755 index 00000000..53cd3bc2 --- /dev/null +++ b/src/assets/angular-material-examples/tooltip-modified-defaults/tooltip-modified-defaults-example.ts @@ -0,0 +1,22 @@ +import {Component} from '@angular/core'; +import {MAT_TOOLTIP_DEFAULT_OPTIONS, MatTooltipDefaultOptions} from '@angular/material'; + +/** Custom options the configure the tooltip's default show/hide delays. */ +export const myCustomTooltipDefaults: MatTooltipDefaultOptions = { + showDelay: 1000, + hideDelay: 1000, + touchendHideDelay: 1000, +}; + +/** + * @title Tooltip with a show and hide delay + */ +@Component({ + selector: 'tooltip-modified-defaults-example', + templateUrl: 'tooltip-modified-defaults-example.html', + styleUrls: ['tooltip-modified-defaults-example.css'], + providers: [ + {provide: MAT_TOOLTIP_DEFAULT_OPTIONS, useValue: myCustomTooltipDefaults} + ], +}) +export class TooltipModifiedDefaultsExample {}