@iamproperty/components 7.1.0--beta7 → 7.2.1--beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/css/components/actionbar.component.css +1 -0
- package/assets/css/components/actionbar.component.css.map +1 -0
- package/assets/css/components/actionbar.global.css +1 -1
- package/assets/css/components/actionbar.global.css.map +1 -1
- package/assets/css/components/address-lookup.css +1 -1
- package/assets/css/components/address-lookup.css.map +1 -1
- package/assets/css/components/barchart.component.css +1 -1
- package/assets/css/components/barchart.component.css.map +1 -1
- package/assets/css/components/bento-grid.component.css +1 -0
- package/assets/css/components/bento-grid.component.css.map +1 -0
- package/assets/css/components/card.component.css +1 -1
- package/assets/css/components/card.component.css.map +1 -1
- package/assets/css/components/carousel.component.css +1 -1
- package/assets/css/components/carousel.component.css.map +1 -1
- package/assets/css/components/carousel.config.css +1 -1
- package/assets/css/components/carousel.config.css.map +1 -1
- package/assets/css/components/charts.config.css +1 -1
- package/assets/css/components/charts.config.css.map +1 -1
- package/assets/css/components/charts.css +1 -1
- package/assets/css/components/charts.css.map +1 -1
- package/assets/css/components/charts.module.css +1 -1
- package/assets/css/components/charts.module.css.map +1 -1
- package/assets/css/components/collapsible-side.css +1 -1
- package/assets/css/components/collapsible-side.css.map +1 -1
- package/assets/css/components/doughnutchart.component.css +1 -0
- package/assets/css/components/doughnutchart.component.css.map +1 -0
- package/assets/css/components/fileupload.css.map +1 -1
- package/assets/css/components/header.css.map +1 -1
- package/assets/css/components/inline-edit.preload.css +1 -1
- package/assets/css/components/inline-edit.preload.css.map +1 -1
- package/assets/css/components/marketing.css.map +1 -1
- package/assets/css/components/menu.component.css +1 -0
- package/assets/css/components/menu.component.css.map +1 -0
- package/assets/css/components/menu.css +1 -0
- package/assets/css/components/menu.css.map +1 -0
- package/assets/css/components/multi-step.component.css.map +1 -1
- package/assets/css/components/multiselect.preload.css +1 -1
- package/assets/css/components/multiselect.preload.css.map +1 -1
- package/assets/css/components/nav.component.css +1 -0
- package/assets/css/components/nav.component.css.map +1 -0
- package/assets/css/components/nav.docs.css.map +1 -1
- package/assets/css/components/nav.global.css.map +1 -1
- package/assets/css/components/nav.old.css +1 -1
- package/assets/css/components/nav.old.css.map +1 -1
- package/assets/css/components/nav.preload.css +1 -1
- package/assets/css/components/nav.preload.css.map +1 -1
- package/assets/css/components/notification.css +1 -1
- package/assets/css/components/notification.css.map +1 -1
- package/assets/css/components/pagination.css +1 -1
- package/assets/css/components/pagination.css.map +1 -1
- package/assets/css/components/property-searchbar.css.map +1 -1
- package/assets/css/components/slider.css +1 -1
- package/assets/css/components/slider.css.map +1 -1
- package/assets/css/components/snapshot.css.map +1 -1
- package/assets/css/components/stepper.css.map +1 -1
- package/assets/css/components/table-basic.component.css +1 -0
- package/assets/css/components/table-basic.component.css.map +1 -0
- package/assets/css/components/table-basic.global.css +1 -0
- package/assets/css/components/table-basic.global.css.map +1 -0
- package/assets/css/components/table.component.css +1 -0
- package/assets/css/components/table.component.css.map +1 -0
- package/assets/css/components/table.global.css +1 -1
- package/assets/css/components/table.global.css.map +1 -1
- package/assets/css/components/tabs.component.css +1 -0
- package/assets/css/components/tabs.component.css.map +1 -0
- package/assets/css/components/tabs.config.css +1 -0
- package/assets/css/components/tabs.config.css.map +1 -0
- package/assets/css/components/tabs.css +1 -1
- package/assets/css/components/tabs.css.map +1 -1
- package/assets/css/components/testimonial.css.map +1 -1
- package/assets/css/components/timeline.css.map +1 -1
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/mobile-core.min.css +1 -0
- package/assets/css/mobile-core.min.css.map +1 -0
- package/assets/css/mobile.min.css +1 -0
- package/assets/css/mobile.min.css.map +1 -0
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/js/components/_global.js +0 -1
- package/assets/js/components/accordion/accordion.component.min.js +1 -1
- package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
- package/assets/js/components/actionbar/actionbar.component.js +86 -8
- package/assets/js/components/actionbar/actionbar.component.min.js +19 -6
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.js +17 -18
- package/assets/js/components/address-lookup/address-lookup.component.min.js +5 -5
- package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.js +0 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +4 -4
- package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
- package/assets/js/components/barchart/barchart.component.js +2 -3
- package/assets/js/components/barchart/barchart.component.min.js +8 -4
- package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
- package/assets/js/components/bento-grid/bento-grid.component.js +50 -0
- package/assets/js/components/bento-grid/bento-grid.component.min.js +15 -0
- package/assets/js/components/bento-grid/bento-grid.component.min.js.map +1 -0
- package/assets/js/components/card/card.component.js +10 -13
- package/assets/js/components/card/card.component.min.js +7 -7
- package/assets/js/components/card/card.component.min.js.map +1 -1
- package/assets/js/components/carousel/carousel.component.js +4 -5
- package/assets/js/components/carousel/carousel.component.min.js +4 -4
- package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
- package/assets/js/components/chart/chart.component.js +1 -5
- package/assets/js/components/collapsible-side/collapsible-side.component.js +4 -5
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +4 -4
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
- package/assets/js/components/doughnutchart/doughnutchart.component.js +70 -0
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js +25 -0
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -0
- package/assets/js/components/fileupload/fileupload.component.js +2 -3
- package/assets/js/components/fileupload/fileupload.component.min.js +6 -6
- package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
- package/assets/js/components/filter-card/filter-card.component.js +3 -4
- package/assets/js/components/filter-card/filter-card.component.min.js +4 -4
- package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
- package/assets/js/components/filterlist/filterlist.component.js +0 -1
- package/assets/js/components/filterlist/filterlist.component.min.js +3 -3
- package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
- package/assets/js/components/header/header.component.js +0 -1
- package/assets/js/components/header/header.component.min.js +1 -1
- package/assets/js/components/header/header.component.min.js.map +1 -1
- package/assets/js/components/inline-edit/inline-edit.component.js +7 -8
- package/assets/js/components/inline-edit/inline-edit.component.min.js +4 -4
- package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
- package/assets/js/components/marketing/marketing.component.js +0 -1
- package/assets/js/components/marketing/marketing.component.min.js +1 -1
- package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
- package/assets/js/components/menu/menu.component.js +200 -0
- package/assets/js/components/menu/menu.component.min.js +77 -0
- package/assets/js/components/menu/menu.component.min.js.map +1 -0
- package/assets/js/components/multi-step/multi-step.component.js +10 -10
- package/assets/js/components/multi-step/multi-step.component.min.js +13 -0
- package/assets/js/components/multi-step/multi-step.component.min.js.map +1 -0
- package/assets/js/components/multiselect/multiselect.component.js +10 -10
- package/assets/js/components/multiselect/multiselect.component.min.js +3 -3
- package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
- package/assets/js/components/nav/nav.component.js +7 -7
- package/assets/js/components/nav/nav.component.min.js +7 -7
- package/assets/js/components/nav/nav.component.min.js.map +1 -1
- package/assets/js/components/notification/notification.component.js +3 -3
- package/assets/js/components/notification/notification.component.min.js +4 -4
- package/assets/js/components/notification/notification.component.min.js.map +1 -1
- package/assets/js/components/pagination/pagination.component.js +14 -8
- package/assets/js/components/pagination/pagination.component.min.js +5 -5
- package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
- package/assets/js/components/record-card/record-card.component.js +6 -8
- package/assets/js/components/record-card/record-card.component.min.js +4 -4
- package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
- package/assets/js/components/search/search.component.js +9 -6
- package/assets/js/components/search/search.component.min.js +8 -5
- package/assets/js/components/search/search.component.min.js.map +1 -1
- package/assets/js/components/slider/slider.component.js +8 -8
- package/assets/js/components/slider/slider.component.min.js +5 -5
- package/assets/js/components/slider/slider.component.min.js.map +1 -1
- package/assets/js/components/table/table.component.js +36 -200
- package/assets/js/components/table/table.component.min.js +13 -23
- package/assets/js/components/table/table.component.min.js.map +1 -1
- package/assets/js/components/table-ajax/table-ajax.component.js +46 -0
- package/assets/js/components/table-ajax/table-ajax.component.min.js +22 -0
- package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -0
- package/assets/js/components/table-basic/table-basic.component.js +46 -0
- package/assets/js/components/table-basic/table-basic.component.min.js +22 -0
- package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -0
- package/assets/js/components/table-no-submit/table-no-submit.component.js +77 -0
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js +22 -0
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -0
- package/assets/js/components/table-submit/table-submit.component.js +55 -0
- package/assets/js/components/table-submit/table-submit.component.min.js +22 -0
- package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -0
- package/assets/js/components/tabs/tabs.component.js +3 -2
- package/assets/js/components/tabs/tabs.component.min.js +6 -4
- package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
- package/assets/js/components/video-card/video-card.component.js +4 -3
- package/assets/js/components/video-card/video-card.component.min.js +3 -3
- package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
- package/assets/js/modules/applied-filters.js +8 -9
- package/assets/js/modules/carousel.js +9 -10
- package/assets/js/modules/chart.js +5 -3
- package/assets/js/modules/chart.module.js +108 -1
- package/assets/js/modules/dialogs.js +6 -7
- package/assets/js/modules/drawer.js +1 -2
- package/assets/js/modules/dynamicEvents.js +7 -8
- package/assets/js/modules/fileupload.js +7 -7
- package/assets/js/modules/filterlist.js +3 -4
- package/assets/js/modules/form.js +12 -13
- package/assets/js/modules/helpers.js +7 -5
- package/assets/js/modules/inputs.js +6 -9
- package/assets/js/modules/nav.js +3 -4
- package/assets/js/modules/notification.js +2 -3
- package/assets/js/modules/orderablelist.js +0 -1
- package/assets/js/modules/table.js +604 -317
- package/assets/js/modules/tabs.js +46 -19
- package/assets/js/scripts.bundle.js +3 -3
- package/assets/js/scripts.bundle.js.map +1 -1
- package/assets/js/scripts.bundle.min.js +2 -2
- package/assets/js/scripts.bundle.min.js.map +1 -1
- package/assets/js/scripts.js +71 -6
- package/assets/js/tests/card.spec.js +14 -0
- package/assets/js/tests/carousel.spec.js +60 -0
- package/assets/js/tests/chart.spec.js +7 -5
- package/assets/js/tests/fileupload.spec.js +22 -0
- package/assets/js/tests/multistep.spec.js +68 -0
- package/assets/js/tests/table.spec.js +0 -31
- package/assets/sass/_bs_grid.scss +4 -1
- package/assets/sass/_components.scss +326 -100
- package/assets/sass/_corefiles.scss +42 -18
- package/assets/sass/_elements.scss +98 -18
- package/assets/sass/_example.scss +61 -0
- package/assets/sass/_func.scss +5 -13
- package/assets/sass/_functions/bs_utilities.scss +43 -39
- package/assets/sass/_functions/functions.scss +66 -52
- package/assets/sass/_functions/mixins.scss +84 -100
- package/assets/sass/_functions/utility-mixins.scss +56 -44
- package/assets/sass/_functions/variables.scss +90 -1659
- package/assets/sass/_functions/variables_old.scss +1701 -0
- package/assets/sass/_grid.scss +19 -5
- package/assets/sass/_tests/func.spec.scss +1 -37
- package/assets/sass/_tests/mixins.spec.scss +1 -77
- package/assets/sass/_tests/typography.spec.scss +1 -1
- package/assets/sass/_utilities.scss +15 -5
- package/assets/sass/_utility-mixins.scss +6 -1
- package/assets/sass/components/{actionbar.scss → actionbar.component.scss} +83 -16
- package/assets/sass/components/actionbar.global.scss +12 -68
- package/assets/sass/components/address-lookup.scss +6 -0
- package/assets/sass/components/barchart.component.scss +7 -20
- package/assets/sass/components/bento-grid.component.scss +91 -0
- package/assets/sass/components/carousel.config.scss +64 -58
- package/assets/sass/components/charts.config.scss +73 -67
- package/assets/sass/components/charts.module.scss +128 -97
- package/assets/sass/components/charts.scss +43 -42
- package/assets/sass/components/collapsible-side.scss +29 -27
- package/assets/sass/components/doughnutchart.component.scss +205 -0
- package/assets/sass/components/fileupload.scss +4 -3
- package/assets/sass/components/header.scss +5 -5
- package/assets/sass/components/inline-edit.preload.scss +108 -102
- package/assets/sass/components/menu.component.scss +101 -0
- package/assets/sass/components/menu.scss +21 -0
- package/assets/sass/components/multi-step.component.scss +5 -3
- package/assets/sass/components/multiselect.preload.scss +36 -30
- package/assets/sass/components/{nav.scss → nav.component.scss} +41 -21
- package/assets/sass/components/nav.docs.scss +1 -1
- package/assets/sass/components/nav.global.scss +13 -11
- package/assets/sass/components/nav.old.scss +21 -24
- package/assets/sass/components/nav.preload.scss +40 -34
- package/assets/sass/components/notification.scss +9 -5
- package/assets/sass/components/pagination.scss +7 -0
- package/assets/sass/components/property-searchbar.scss +7 -7
- package/assets/sass/components/slider.scss +2 -0
- package/assets/sass/components/snapshot.scss +2 -2
- package/assets/sass/components/stepper.scss +7 -7
- package/assets/sass/components/{table.scss → table-basic.component.scss} +25 -68
- package/assets/sass/components/table-basic.global.scss +355 -0
- package/assets/sass/components/table.component.scss +40 -0
- package/assets/sass/components/table.global.scss +215 -418
- package/assets/sass/components/tabs.component.scss +5 -0
- package/assets/sass/components/tabs.config.scss +27 -0
- package/assets/sass/components/tabs.scss +40 -4
- package/assets/sass/components/testimonial.scss +7 -7
- package/assets/sass/components/timeline.scss +1 -1
- package/assets/sass/core.scss +13 -4
- package/assets/sass/elements/admin-panel.scss +199 -185
- package/assets/sass/elements/badge-tag.scss +87 -81
- package/assets/sass/elements/brand.scss +67 -61
- package/assets/sass/elements/buttons--action.scss +55 -0
- package/assets/sass/elements/buttons--compact.scss +135 -0
- package/assets/sass/elements/buttons--global.scss +323 -0
- package/assets/sass/elements/buttons--secondary.scss +24 -0
- package/assets/sass/elements/buttons--tertiary.scss +57 -0
- package/assets/sass/elements/buttons.scss +29 -503
- package/assets/sass/elements/container.scss +157 -151
- package/assets/sass/elements/details.scss +147 -138
- package/assets/sass/elements/dialog.scss +36 -30
- package/assets/sass/elements/forms.scss +1061 -1047
- package/assets/sass/elements/icons.scss +23 -17
- package/assets/sass/elements/links.scss +131 -116
- package/assets/sass/elements/lists.scss +270 -264
- package/assets/sass/elements/media.scss +19 -13
- package/assets/sass/elements/modal.scss +336 -330
- package/assets/sass/elements/popover.scss +163 -152
- package/assets/sass/elements/progress.scss +173 -162
- package/assets/sass/elements/table.element.scss +116 -108
- package/assets/sass/elements/tooltips.scss +87 -80
- package/assets/sass/elements/type.scss +172 -160
- package/assets/sass/email.scss +0 -1
- package/assets/sass/error.scss +15 -13
- package/assets/sass/foundations/reboot.scss +176 -170
- package/assets/sass/foundations/root.scss +136 -125
- package/assets/sass/helpers/max-height.scss +2 -2
- package/assets/sass/main.scss +14 -6
- package/assets/sass/mobile-core.scss +14 -0
- package/assets/sass/mobile.scss +16 -0
- package/assets/sass/templates/auth.scss +88 -83
- package/assets/sass/templates/form.scss +68 -59
- package/assets/ts/components/_global.ts +2 -3
- package/assets/ts/components/actionbar/actionbar.component.ts +94 -2
- package/assets/ts/components/address-lookup/address-lookup.component.ts +21 -22
- package/assets/ts/components/applied-filters/applied-filters.component.ts +1 -2
- package/assets/ts/components/barchart/barchart.component.ts +3 -5
- package/assets/ts/components/bento-grid/README.md +31 -0
- package/assets/ts/components/bento-grid/bento-grid.component.ts +67 -0
- package/assets/ts/components/card/card.component.ts +13 -16
- package/assets/ts/components/carousel/carousel.component.ts +5 -7
- package/assets/ts/components/chart/chart.component.ts +4 -9
- package/assets/ts/components/collapsible-side/collapsible-side.component.ts +5 -6
- package/assets/ts/components/doughnutchart/doughnutchart.component.ts +85 -0
- package/assets/ts/components/fileupload/fileupload.component.ts +5 -6
- package/assets/ts/components/filter-card/filter-card.component.ts +4 -5
- package/assets/ts/components/filterlist/filterlist.component.ts +1 -2
- package/assets/ts/components/header/header.component.ts +1 -3
- package/assets/ts/components/inline-edit/inline-edit.component.ts +8 -11
- package/assets/ts/components/marketing/marketing.component.ts +1 -3
- package/assets/ts/components/menu/menu.component.ts +222 -0
- package/assets/ts/components/multi-step/multi-step.component.ts +19 -23
- package/assets/ts/components/multiselect/multiselect.component.ts +13 -14
- package/assets/ts/components/nav/nav.component.ts +8 -9
- package/assets/ts/components/notification/notification.component.ts +3 -3
- package/assets/ts/components/pagination/pagination.component.ts +24 -12
- package/assets/ts/components/record-card/record-card.component.ts +9 -11
- package/assets/ts/components/search/search.component.ts +12 -9
- package/assets/ts/components/slider/slider.component.ts +9 -10
- package/assets/ts/components/table/table.component.ts +50 -247
- package/assets/ts/components/table-ajax/table-ajax.component.ts +64 -0
- package/assets/ts/components/table-basic/README.md +40 -0
- package/assets/ts/components/table-basic/table-basic.component.ts +56 -0
- package/assets/ts/components/table-no-submit/table-no-submit.component.ts +134 -0
- package/assets/ts/components/table-submit/table-submit.component.ts +64 -0
- package/assets/ts/components/tabs/tabs.component.ts +4 -3
- package/assets/ts/components/video-card/video-card.component.ts +13 -12
- package/assets/ts/modules/applied-filters.ts +10 -11
- package/assets/ts/modules/card.module.ts +1 -1
- package/assets/ts/modules/carousel.ts +13 -15
- package/assets/ts/modules/chart.module.ts +152 -19
- package/assets/ts/modules/chart.ts +26 -24
- package/assets/ts/modules/dialogs.ts +10 -13
- package/assets/ts/modules/drawer.ts +1 -2
- package/assets/ts/modules/dynamicEvents.ts +12 -14
- package/assets/ts/modules/fileupload.ts +10 -10
- package/assets/ts/modules/filterlist.ts +6 -7
- package/assets/ts/modules/form.ts +16 -17
- package/assets/ts/modules/helpers.ts +24 -21
- package/assets/ts/modules/inputs.ts +15 -18
- package/assets/ts/modules/nav.ts +4 -5
- package/assets/ts/modules/notification.ts +7 -8
- package/assets/ts/modules/orderablelist.ts +3 -4
- package/assets/ts/modules/pagination.ts +1 -1
- package/assets/ts/modules/table.ts +726 -356
- package/assets/ts/modules/tabs.ts +59 -20
- package/assets/ts/scripts.ts +72 -6
- package/assets/ts/tests/card.spec.ts +19 -0
- package/assets/ts/tests/carousel.spec.ts +66 -0
- package/assets/ts/tests/chart.spec.ts +9 -6
- package/assets/ts/tests/fileupload.spec.ts +30 -0
- package/assets/ts/tests/multistep.spec.ts +78 -0
- package/assets/ts/tests/table.spec.ts +0 -38
- package/dist/components.es.js +1260 -1063
- package/dist/components.umd.js +468 -198
- package/package.json +44 -49
- package/src/components/BentoGrid/BentoGrid.vue +20 -0
- package/src/components/DoughnutChart/DoughnutChart.vue +23 -0
- package/src/components/FileUpload/FileUpload.vue +4 -1
- package/src/components/Menu/Menu.vue +22 -0
- package/src/components/Table/TableAjax.vue +34 -0
- package/src/components/Table/TableBasic.vue +34 -0
- package/src/components/Table/TableNoSubmit.vue +34 -0
- package/src/components/Table/TableSubmit.vue +34 -0
- package/src/components/Tabs/Tabs.vue +0 -4
- package/src/index.js +25 -19
- package/assets/css/components/actionbar.css +0 -1
- package/assets/css/components/actionbar.css.map +0 -1
- package/assets/css/components/nav.css +0 -1
- package/assets/css/components/nav.css.map +0 -1
- package/assets/css/components/table.css +0 -1
- package/assets/css/components/table.css.map +0 -1
- package/assets/js/components.bundle.js +0 -5
- package/assets/js/components.bundle.js.map +0 -1
- package/assets/js/components.js +0 -57
- package/assets/js/modules/file-upload.js +0 -32
- package/assets/ts/components.ts +0 -62
- package/assets/ts/modules/file-upload.ts +0 -52
- package/dist/style.css +0 -1
- package/src/components/Table/Table.spec.js +0 -47
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
import Cookies from 'js-cookie';
|
|
3
2
|
import { safeID, resolvePath, isTraversable } from '../../modules/helpers';
|
|
4
3
|
|
|
@@ -33,6 +32,9 @@ class iamSearch extends HTMLElement {
|
|
|
33
32
|
}
|
|
34
33
|
.optional-text {
|
|
35
34
|
display: none;
|
|
35
|
+
}
|
|
36
|
+
.js-hide {
|
|
37
|
+
display: none !important;
|
|
36
38
|
}
|
|
37
39
|
</style>
|
|
38
40
|
<link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous" />
|
|
@@ -41,7 +43,8 @@ class iamSearch extends HTMLElement {
|
|
|
41
43
|
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
|
42
44
|
}
|
|
43
45
|
|
|
44
|
-
async connectedCallback() {
|
|
46
|
+
async connectedCallback(): void {
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
45
48
|
const searchWrapper = this;
|
|
46
49
|
const inputField = this.querySelector('input');
|
|
47
50
|
const valueSchema = this.hasAttribute('data-value-schema') ? this.getAttribute('data-value-schema') : 'value';
|
|
@@ -49,6 +52,7 @@ class iamSearch extends HTMLElement {
|
|
|
49
52
|
const loopSchema = this.hasAttribute('data-schema') ? this.getAttribute('data-schema') : '';
|
|
50
53
|
let datalist = this.querySelector('datalist');
|
|
51
54
|
const searched = [];
|
|
55
|
+
let ajaxURL = this.getAttribute('data-url');
|
|
52
56
|
|
|
53
57
|
// Clone original input field, re-name and use for display purposes
|
|
54
58
|
const displayInputField = inputField.cloneNode();
|
|
@@ -73,7 +77,7 @@ class iamSearch extends HTMLElement {
|
|
|
73
77
|
|
|
74
78
|
// Search the endpoint when 3 characters has been added
|
|
75
79
|
if (searchWrapper.hasAttribute('data-url')) {
|
|
76
|
-
displayInputField.addEventListener('input', (
|
|
80
|
+
displayInputField.addEventListener('input', () => {
|
|
77
81
|
if (displayInputField.value.length == 3 && !searched.includes(displayInputField.value)) {
|
|
78
82
|
search(displayInputField.value);
|
|
79
83
|
searched.push(displayInputField.value);
|
|
@@ -81,7 +85,7 @@ class iamSearch extends HTMLElement {
|
|
|
81
85
|
});
|
|
82
86
|
}
|
|
83
87
|
|
|
84
|
-
function checkMatch() {
|
|
88
|
+
function checkMatch(): void {
|
|
85
89
|
const match = datalist.querySelector(`option[value="${displayInputField.value}"]`);
|
|
86
90
|
const subMatch = datalist.querySelector(`option[value*="${displayInputField.value}" i]`);
|
|
87
91
|
|
|
@@ -97,12 +101,11 @@ class iamSearch extends HTMLElement {
|
|
|
97
101
|
}
|
|
98
102
|
|
|
99
103
|
// on change update oringinal field with the actual value and use displayed input for the nice display text
|
|
100
|
-
displayInputField.addEventListener('input', (
|
|
104
|
+
displayInputField.addEventListener('input', () => {
|
|
101
105
|
checkMatch();
|
|
102
106
|
});
|
|
103
107
|
|
|
104
|
-
const search = async (searchterm) => {
|
|
105
|
-
let ajaxURL = searchWrapper.getAttribute('data-url');
|
|
108
|
+
const search = async (searchterm): any => {
|
|
106
109
|
ajaxURL += `${encodeURI(searchterm)}`;
|
|
107
110
|
|
|
108
111
|
// Setup controller vars if not already set
|
|
@@ -134,7 +137,7 @@ class iamSearch extends HTMLElement {
|
|
|
134
137
|
const loopValues = resolvePath(response, loopSchema, '');
|
|
135
138
|
|
|
136
139
|
if (isTraversable(loopValues) && typeof loopValues.forEach == 'function') {
|
|
137
|
-
loopValues.forEach((item
|
|
140
|
+
loopValues.forEach((item) => {
|
|
138
141
|
const actualValue = resolvePath(item, valueSchema, '');
|
|
139
142
|
const displayValue = resolvePath(item, displaySchema, '').replace('\n', ', ');
|
|
140
143
|
|
|
@@ -146,7 +149,7 @@ class iamSearch extends HTMLElement {
|
|
|
146
149
|
} else if (typeof loopValues == 'object') {
|
|
147
150
|
for (const [key, value] of Object.entries(loopValues)) {
|
|
148
151
|
if (isTraversable(value) && typeof value.forEach == 'function') {
|
|
149
|
-
value.forEach((item
|
|
152
|
+
value.forEach((item) => {
|
|
150
153
|
const actualValue = resolvePath(item, valueSchema, '');
|
|
151
154
|
const displayValue = resolvePath(item, displaySchema, '').replace('\n', ', ');
|
|
152
155
|
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
|
|
3
1
|
// Data layer Web component created
|
|
4
2
|
window.dataLayer = window.dataLayer || [];
|
|
5
3
|
window.dataLayer.push({
|
|
@@ -38,7 +36,8 @@ class iamSlider extends HTMLElement {
|
|
|
38
36
|
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
|
39
37
|
}
|
|
40
38
|
|
|
41
|
-
connectedCallback() {
|
|
39
|
+
connectedCallback(): void {
|
|
40
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
42
41
|
const slider = this;
|
|
43
42
|
const minElement = this.shadowRoot.querySelector('.min');
|
|
44
43
|
const maxElement = this.shadowRoot.querySelector('.max');
|
|
@@ -56,7 +55,7 @@ class iamSlider extends HTMLElement {
|
|
|
56
55
|
stepperStart = 'touchstart';
|
|
57
56
|
}
|
|
58
57
|
|
|
59
|
-
const stepperFunction = function (input
|
|
58
|
+
const stepperFunction = function (input): void {
|
|
60
59
|
const value = input.value;
|
|
61
60
|
|
|
62
61
|
const min = slider.shadowRoot.querySelector('.is-first').getAttribute('min');
|
|
@@ -118,16 +117,16 @@ class iamSlider extends HTMLElement {
|
|
|
118
117
|
const sliders = this.shadowRoot.querySelectorAll('input');
|
|
119
118
|
|
|
120
119
|
Array.from(inputs).forEach((input, index) => {
|
|
121
|
-
input.addEventListener('keyup', function (
|
|
120
|
+
input.addEventListener('keyup', function () {
|
|
122
121
|
sliders[index].value = input.value;
|
|
123
122
|
stepperFunction(sliders[index]);
|
|
124
123
|
});
|
|
125
|
-
input.addEventListener('keydown', function (
|
|
124
|
+
input.addEventListener('keydown', function () {
|
|
126
125
|
sliders[index].value = input.value;
|
|
127
126
|
stepperFunction(sliders[index]);
|
|
128
127
|
});
|
|
129
128
|
|
|
130
|
-
input.addEventListener('change', function (
|
|
129
|
+
input.addEventListener('change', function () {
|
|
131
130
|
sliders[index].value = input.value;
|
|
132
131
|
stepperFunction(sliders[index]);
|
|
133
132
|
});
|
|
@@ -136,7 +135,7 @@ class iamSlider extends HTMLElement {
|
|
|
136
135
|
Array.from(sliders).forEach((input, index) => {
|
|
137
136
|
stepperFunction(input, 'start');
|
|
138
137
|
|
|
139
|
-
input.addEventListener(stepperStart, function (
|
|
138
|
+
input.addEventListener(stepperStart, function () {
|
|
140
139
|
clearInterval(stepperInterval);
|
|
141
140
|
stepperInterval = setInterval(function () {
|
|
142
141
|
stepperFunction(input, 'drag');
|
|
@@ -144,11 +143,11 @@ class iamSlider extends HTMLElement {
|
|
|
144
143
|
}, 10);
|
|
145
144
|
});
|
|
146
145
|
|
|
147
|
-
input.addEventListener(stepperEvent, function (
|
|
146
|
+
input.addEventListener(stepperEvent, function () {
|
|
148
147
|
clearInterval(stepperInterval);
|
|
149
148
|
});
|
|
150
149
|
|
|
151
|
-
input.addEventListener('change', function (
|
|
150
|
+
input.addEventListener('change', function () {
|
|
152
151
|
clearInterval(stepperInterval);
|
|
153
152
|
stepperFunction(input, 'click');
|
|
154
153
|
inputs[index].value = input.value;
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import {
|
|
2
|
+
moveAttributesToComponents,
|
|
3
|
+
findForm,
|
|
4
|
+
setupBasicTable,
|
|
5
|
+
setupAdvancedTable,
|
|
6
|
+
paginateRows,
|
|
7
|
+
setupNoSubmitTable,
|
|
8
|
+
setupSubmitTable,
|
|
9
|
+
setupAjaxTable,
|
|
10
|
+
loadAjaxTable,
|
|
11
|
+
paginateTable,
|
|
12
|
+
} from '../../modules/table';
|
|
13
|
+
|
|
14
|
+
class iamTableBasic extends HTMLElement {
|
|
4
15
|
constructor() {
|
|
5
16
|
super();
|
|
6
17
|
this.attachShadow({ mode: 'open' });
|
|
7
18
|
const assetLocation = document.body.hasAttribute('data-assets-location')
|
|
8
19
|
? document.body.getAttribute('data-assets-location')
|
|
9
20
|
: '/assets';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
: `${assetLocation}/css/core.min.css`;
|
|
13
|
-
const loadCSS = `@import "${assetLocation}/css/components/table.css";`;
|
|
21
|
+
|
|
22
|
+
const loadCSS = `@import "${assetLocation}/css/components/table.component.css";`;
|
|
14
23
|
const loadExtraCSS = `@import "${assetLocation}/css/components/table.global.css";`;
|
|
15
24
|
|
|
16
25
|
const template = document.createElement('template');
|
|
17
26
|
template.innerHTML = `
|
|
18
27
|
<style>
|
|
19
|
-
@import "${coreCSS}";
|
|
20
28
|
${loadCSS}
|
|
21
29
|
|
|
22
|
-
:host(.mh-sm){
|
|
23
|
-
max-height: none!important;
|
|
24
|
-
}
|
|
25
|
-
:host(.mh-md){
|
|
26
|
-
max-height: none!important;
|
|
27
|
-
}
|
|
28
|
-
:host(.mh-lg){
|
|
29
|
-
max-height: none!important;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
30
|
${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
|
|
33
31
|
</style>
|
|
34
|
-
<
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
<div class="table__container">
|
|
33
|
+
<slot name="before"></slot>
|
|
34
|
+
<div class="table--cta">
|
|
35
|
+
<div class="table__wrapper">
|
|
36
|
+
<slot></slot>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
<iam-pagination part="pagination" class="pagination--table" ></iam-pagination>
|
|
38
40
|
</div>
|
|
39
|
-
</div>
|
|
40
|
-
<iam-pagination part="pagination" class="pagination--table" ${this.hasAttribute('data-page') ? `data-page="${this.getAttribute('data-page')}"` : ''} ></iam-pagination>
|
|
41
41
|
`;
|
|
42
42
|
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
|
43
43
|
|
|
@@ -47,237 +47,40 @@ class iamTable extends HTMLElement {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
connectedCallback() {
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
// Set default attributes
|
|
54
|
-
if (!this.hasAttribute('data-total')) {
|
|
55
|
-
this.setAttribute('data-total', this.querySelectorAll('table tbody tr').length);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if (!this.hasAttribute('data-page')) {
|
|
59
|
-
this.setAttribute('data-page', params.has('page') ? params.get('page') : 1);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
if (!this.hasAttribute('data-show')) {
|
|
63
|
-
this.setAttribute('data-show', params.has('show') ? params.get('show') : 15);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (!this.hasAttribute('data-increment')) {
|
|
67
|
-
this.setAttribute('data-increment', this.getAttribute('data-show'));
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// Update table__wrapper class
|
|
71
|
-
let classList = this.classList.toString();
|
|
72
|
-
|
|
73
|
-
classList = classList.replace('table--cta', '');
|
|
74
|
-
classList = classList.replace('table--loading', '');
|
|
75
|
-
//classList = classList.replace('mh-md','');
|
|
76
|
-
this.shadowRoot.querySelector('.table__wrapper').className += ` ${classList}`;
|
|
77
|
-
|
|
78
|
-
// set actionbar class if needed
|
|
79
|
-
if (this.querySelector('.actionbar__sticky')) {
|
|
80
|
-
this.shadowRoot.querySelector('.table__wrapper').classList.add('has-actionbar');
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
this.table = this.querySelector('table');
|
|
84
|
-
this.savedTableBody = this.table.querySelector('tbody').cloneNode(true);
|
|
85
|
-
|
|
86
|
-
this.pagination = this.shadowRoot.querySelector('iam-pagination');
|
|
87
|
-
this.pagination.setAttribute('data-total', this.getAttribute('data-total'));
|
|
88
|
-
this.pagination.setAttribute('data-page', this.getAttribute('data-page'));
|
|
89
|
-
this.pagination.setAttribute('data-show', this.getAttribute('data-show'));
|
|
90
|
-
this.pagination.setAttribute('data-increment', this.getAttribute('data-show'));
|
|
91
|
-
|
|
92
|
-
if (this.hasAttribute('data-page-jump')) {
|
|
93
|
-
this.pagination.setAttribute('data-page-jump', 'true');
|
|
94
|
-
}
|
|
95
|
-
if (this.hasAttribute('data-per-page')) {
|
|
96
|
-
this.pagination.setAttribute('data-per-page', 'true');
|
|
97
|
-
}
|
|
98
|
-
if (this.hasAttribute('data-item-count')) {
|
|
99
|
-
this.pagination.setAttribute('data-item-count', 'true');
|
|
100
|
-
}
|
|
101
|
-
if (this.hasAttribute('data-loading')) {
|
|
102
|
-
this.pagination.setAttribute('data-loading', 'true');
|
|
103
|
-
}
|
|
104
|
-
if (this.classList.contains('table--fullwidth')) {
|
|
105
|
-
this.pagination.setAttribute('data-minimal', 'true');
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// Remove table CTA
|
|
109
|
-
const isCTA = this.classList.contains('table--cta');
|
|
50
|
+
connectedCallback(): void {
|
|
51
|
+
const pagination = this.shadowRoot.querySelector('iam-pagination');
|
|
52
|
+
const table = this.querySelector('table');
|
|
110
53
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
// Set events on the filter table
|
|
114
|
-
this.form = document.createElement('form');
|
|
115
|
-
if (this.hasAttribute('data-filterby')) {
|
|
116
|
-
this.form = document.querySelector(`#${this.getAttribute('data-filterby')}`);
|
|
117
|
-
} else {
|
|
118
|
-
this.table.parentNode.insertBefore(this.form, this.table.nextSibling);
|
|
119
|
-
}
|
|
54
|
+
const form = findForm(this, table);
|
|
120
55
|
|
|
121
|
-
|
|
122
|
-
if (this.form.hasAttribute('data-ajax')) {
|
|
123
|
-
this.table.classList.add('table--ajax');
|
|
124
|
-
}
|
|
125
|
-
// Create a data list if a search input is present
|
|
126
|
-
tableModule.createSearchDataList(this.table, this.form);
|
|
56
|
+
const savedTableBody = table.querySelector('tbody').cloneNode(true);
|
|
127
57
|
|
|
128
|
-
|
|
129
|
-
this.form.insertAdjacentHTML(
|
|
130
|
-
'beforeend',
|
|
131
|
-
`<input name="page" type="hidden" value="${this.getAttribute('data-page')}" data-pagination="true" />`
|
|
132
|
-
);
|
|
133
|
-
}
|
|
134
|
-
if (!this.form.querySelector('[data-show]')) {
|
|
135
|
-
this.form.insertAdjacentHTML(
|
|
136
|
-
'beforeend',
|
|
137
|
-
`<input name="show" type="hidden" value="${this.getAttribute('data-show')}" data-show="true" />`
|
|
138
|
-
);
|
|
139
|
-
}
|
|
58
|
+
moveAttributesToComponents(this);
|
|
140
59
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
tableModule.addFilterEventListeners(this.table, this.form, this.pagination, this, this.savedTableBody);
|
|
144
|
-
tableModule.addPaginationEventListeners(this.table, this.form, this.pagination, this);
|
|
145
|
-
tableModule.addExportEventListeners(this.shadowRoot.querySelector('[data-export]'), this.table);
|
|
60
|
+
setupBasicTable(this, table, form, pagination);
|
|
61
|
+
setupAdvancedTable(this, table, form, pagination);
|
|
146
62
|
|
|
147
|
-
if (this.
|
|
148
|
-
|
|
63
|
+
if (this.hasAttribute('data-submit')) {
|
|
64
|
+
setupSubmitTable(this, table, form, pagination);
|
|
65
|
+
paginateTable(this, table, form, pagination, () => {
|
|
66
|
+
form.submit();
|
|
67
|
+
});
|
|
68
|
+
} else if (this.hasAttribute('data-no-submit')) {
|
|
69
|
+
setupNoSubmitTable(this, table, form, pagination, savedTableBody);
|
|
70
|
+
paginateTable(this, table, form, pagination, () => {
|
|
71
|
+
paginateRows(this);
|
|
72
|
+
});
|
|
73
|
+
} else if (this.hasAttribute('data-ajax')) {
|
|
74
|
+
setupAjaxTable(this, table, form, pagination);
|
|
75
|
+
paginateTable(this, table, form, pagination, () => {
|
|
76
|
+
loadAjaxTable(this, table, form, pagination);
|
|
77
|
+
});
|
|
149
78
|
} else {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
return ID;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
// Add in the checkboxes
|
|
157
|
-
|
|
158
|
-
if (
|
|
159
|
-
this.querySelector('iam-actionbar[data-selectall]') ||
|
|
160
|
-
document.querySelector(`iam-actionbar[data-for='${this.getAttribute('id')}']`)
|
|
161
|
-
) {
|
|
162
|
-
const actionbar = this.querySelector('iam-actionbar[data-selectall]')
|
|
163
|
-
? this.querySelector('iam-actionbar[data-selectall]')
|
|
164
|
-
: document.querySelector(`iam-actionbar[data-for='${this.getAttribute('id')}']`);
|
|
165
|
-
|
|
166
|
-
Array.from(this.table.querySelectorAll('thead tr')).forEach((row, index) => {
|
|
167
|
-
row.insertAdjacentHTML('afterbegin', `<th class="th--fixed"></th>`);
|
|
168
|
-
});
|
|
169
|
-
|
|
170
|
-
Array.from(this.table.querySelectorAll('tbody tr')).forEach((row, index) => {
|
|
171
|
-
|
|
172
|
-
if(!row.querySelector('.selectrow')){
|
|
173
|
-
const rowID = `row${uniqueID(index)}`;
|
|
174
|
-
row.insertAdjacentHTML(
|
|
175
|
-
'afterbegin',
|
|
176
|
-
`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${rowID}" ${row.hasAttribute('data-selected') ? `checked="true"` : ''}/><label for="${rowID}"><span class="visually-hidden">Select row</span></label></td>`
|
|
177
|
-
);
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
this.table.addEventListener('change', (event) => {
|
|
182
|
-
if (event && event.target instanceof HTMLElement && event.target.closest('.selectrow input')) {
|
|
183
|
-
const count = this.table.querySelectorAll('.selectrow input[type="checkbox"]').length;
|
|
184
|
-
const countChecked = this.table.querySelectorAll('.selectrow input[type="checkbox"]:checked').length;
|
|
185
|
-
|
|
186
|
-
actionbar.setAttribute('data-selected', count == countChecked ? 'all' : countChecked);
|
|
187
|
-
}
|
|
188
|
-
});
|
|
189
|
-
|
|
190
|
-
actionbar.addEventListener('selected', (event) => {
|
|
191
|
-
if (event.detail.selected == '0') {
|
|
192
|
-
Array.from(this.table.querySelectorAll('.selectrow input[type="checkbox"]')).forEach((input, index) => {
|
|
193
|
-
input.checked = false;
|
|
194
|
-
});
|
|
195
|
-
} else if (event.detail.selected == 'all') {
|
|
196
|
-
Array.from(this.table.querySelectorAll('.selectrow input[type="checkbox"]')).forEach((input, index) => {
|
|
197
|
-
input.checked = true;
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
// Make the dialog menus columns fixed
|
|
204
|
-
let colIndex = -1;
|
|
205
|
-
Array.from(this.table.querySelectorAll('tbody tr')).forEach((row, index) => {
|
|
206
|
-
if (row.querySelector(':scope > td > .dialog__wrapper')) {
|
|
207
|
-
const columnn = row.querySelector(':scope > td > .dialog__wrapper').parentNode;
|
|
208
|
-
|
|
209
|
-
columnn.classList.add('td--fixed');
|
|
210
|
-
|
|
211
|
-
colIndex = Array.from(columnn.parentNode.children).indexOf(columnn);
|
|
212
|
-
}
|
|
79
|
+
paginateTable(this, table, form, pagination, () => {
|
|
80
|
+
paginateRows(this);
|
|
213
81
|
});
|
|
214
|
-
|
|
215
|
-
if (colIndex != -1) {
|
|
216
|
-
this.table.querySelector(`thead tr th:nth-child(${colIndex + 1})`).classList.add('th--fixed');
|
|
217
|
-
|
|
218
|
-
Array.from(this.table.querySelectorAll(`tbody tr td:nth-child(${colIndex + 1})`)).forEach((col, index) => {
|
|
219
|
-
col.classList.add('td--fixed');
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
tableModule.makeTableFunctional(this.table, this.form, this.pagination, this);
|
|
224
|
-
|
|
225
|
-
if (!this.hasAttribute('data-no-submit')) tableModule.filterTable(this.table, this.form, this);
|
|
226
|
-
|
|
227
|
-
tableModule.populateDataQueries(this.table, this.form);
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
this.shadowRoot.querySelector('.table__wrapper').addEventListener('scroll', (event) => {
|
|
231
|
-
if (this.table.querySelector('dialog[open]')) {
|
|
232
|
-
this.table.querySelector('dialog[open]').close();
|
|
233
|
-
this.table.querySelector('.dialog__wrapper > button.active').classList.remove('active');
|
|
234
|
-
}
|
|
235
|
-
});
|
|
236
|
-
|
|
237
|
-
// Push up the pagination events
|
|
238
|
-
this.pagination.addEventListener('update-show', (event) => {
|
|
239
|
-
const show = event.detail.show;
|
|
240
|
-
|
|
241
|
-
const updateEvent = new CustomEvent('update-show', { detail: { show: show } });
|
|
242
|
-
this.dispatchEvent(updateEvent);
|
|
243
|
-
});
|
|
244
|
-
|
|
245
|
-
this.pagination.addEventListener('update-page', (event) => {
|
|
246
|
-
const page = event.detail.page;
|
|
247
|
-
|
|
248
|
-
const updateEvent = new CustomEvent('update-page', { detail: { page: page } });
|
|
249
|
-
this.dispatchEvent(updateEvent);
|
|
250
|
-
});
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
static get observedAttributes() {
|
|
254
|
-
return ['data-total', 'data-page', 'data-show'];
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
attributeChangedCallback(attrName, oldVal, newVal) {
|
|
258
|
-
this.pagination = this.shadowRoot.querySelector('iam-pagination');
|
|
259
|
-
|
|
260
|
-
switch (attrName) {
|
|
261
|
-
case 'data-total': {
|
|
262
|
-
if (oldVal != newVal) {
|
|
263
|
-
this.pagination.setAttribute('data-total', newVal);
|
|
264
|
-
}
|
|
265
|
-
break;
|
|
266
|
-
}
|
|
267
|
-
case 'data-show': {
|
|
268
|
-
if (oldVal != newVal) {
|
|
269
|
-
this.pagination.setAttribute('data-show', newVal);
|
|
270
|
-
}
|
|
271
|
-
break;
|
|
272
|
-
}
|
|
273
|
-
case 'data-page': {
|
|
274
|
-
if (oldVal != newVal) {
|
|
275
|
-
this.pagination.setAttribute('data-page', newVal);
|
|
276
|
-
}
|
|
277
|
-
break;
|
|
278
|
-
}
|
|
279
82
|
}
|
|
280
83
|
}
|
|
281
84
|
}
|
|
282
85
|
|
|
283
|
-
export default
|
|
86
|
+
export default iamTableBasic;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import {
|
|
2
|
+
setupBasicTable,
|
|
3
|
+
findForm,
|
|
4
|
+
setupAdvancedTable,
|
|
5
|
+
setupAjaxTable,
|
|
6
|
+
paginateTable,
|
|
7
|
+
loadAjaxTable,
|
|
8
|
+
} from '../../modules/table';
|
|
9
|
+
|
|
10
|
+
class iamTableAjax extends HTMLElement {
|
|
11
|
+
constructor() {
|
|
12
|
+
super();
|
|
13
|
+
this.attachShadow({ mode: 'open' });
|
|
14
|
+
const assetLocation = document.body.hasAttribute('data-assets-location')
|
|
15
|
+
? document.body.getAttribute('data-assets-location')
|
|
16
|
+
: '/assets';
|
|
17
|
+
|
|
18
|
+
const loadCSS = `@import "${assetLocation}/css/components/table.component.css";`;
|
|
19
|
+
const loadExtraCSS = `@import "${assetLocation}/css/components/table.global.css";`;
|
|
20
|
+
|
|
21
|
+
const template = document.createElement('template');
|
|
22
|
+
template.innerHTML = `
|
|
23
|
+
<style>
|
|
24
|
+
${loadCSS}
|
|
25
|
+
|
|
26
|
+
${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
|
|
27
|
+
</style>
|
|
28
|
+
<div class="table__container">
|
|
29
|
+
<slot name="before"></slot>
|
|
30
|
+
<div class="table--cta">
|
|
31
|
+
<div class="table__wrapper">
|
|
32
|
+
<slot></slot>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
<iam-pagination part="pagination" class="pagination--table" ${this.hasAttribute('data-page') ? `data-page="${this.getAttribute('data-page')}"` : ''} ></iam-pagination>
|
|
36
|
+
</div>
|
|
37
|
+
`;
|
|
38
|
+
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
|
39
|
+
|
|
40
|
+
// insert extra CSS
|
|
41
|
+
if (!document.getElementById('tableSingleExtras') && !document.getElementById('tableExtras')) {
|
|
42
|
+
document.head.insertAdjacentHTML('beforeend', `<style id="tableSingleExtras">${loadExtraCSS}</style>`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
connectedCallback(): void {
|
|
47
|
+
const pagination = this.shadowRoot.querySelector('iam-pagination');
|
|
48
|
+
const table = this.querySelector('table');
|
|
49
|
+
|
|
50
|
+
const form = findForm(this, table);
|
|
51
|
+
|
|
52
|
+
setupBasicTable(this, table, form, pagination);
|
|
53
|
+
|
|
54
|
+
setupAdvancedTable(this, table, form, pagination);
|
|
55
|
+
|
|
56
|
+
setupAjaxTable(this, table, form, pagination);
|
|
57
|
+
|
|
58
|
+
paginateTable(component, table, form, pagination, () => {
|
|
59
|
+
loadAjaxTable(component, table, form, pagination);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export default iamTableAjax;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
**Add the below to your initialise script**
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
import('../node_modules/@iamproperty/components/assets/js/components/table/table.component.min').then(module => { // Might need to update the path
|
|
5
|
+
|
|
6
|
+
if (!window.customElements.get(`iam-table`))
|
|
7
|
+
window.customElements.define(`iam-table`, module.default);
|
|
8
|
+
|
|
9
|
+
}).catch((err) => {
|
|
10
|
+
console.log(err.message);
|
|
11
|
+
});
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**Add the below HTML code to where you want the component to live.**
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
<iam-table class="container">
|
|
18
|
+
<table>
|
|
19
|
+
<thead>....</thead>
|
|
20
|
+
<tbody>...</tbody>
|
|
21
|
+
</table>
|
|
22
|
+
</iam-tabs>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Properties**
|
|
26
|
+
|
|
27
|
+
| Option | Type | Default Value | Description |
|
|
28
|
+
| --------------- | ---------------- | ------------- | ----------------------------------------------------------------------------------------------- |
|
|
29
|
+
| data-show | int | 15 | Update how many rows can be shown per page |
|
|
30
|
+
| data-filterby | string (form ID) | | Give an optional form ID to connect a form to the table and make it act like a filtering system |
|
|
31
|
+
| data-no-scroll | flag | - | Stops the page from scrolling up to the top of the table |
|
|
32
|
+
| data-expandable | flag | - | Adds expandable buttons to rows with will allow for larger paragraphs to be shown correctly |
|
|
33
|
+
|
|
34
|
+
_Pagination properties can also be added to the table component so that they can be passed down to the child pagination element._
|
|
35
|
+
|
|
36
|
+
**Class modifiers**
|
|
37
|
+
|
|
38
|
+
- Adding a class of **.table--cta** to the table component will fix the last column of the table in place (While on tablet or desktop).
|
|
39
|
+
- Adding a class of **.table--fullwidth** to the table component will prevent it from becoming a stacked view on mobile.
|
|
40
|
+
- Adding a class of **.table--mh-small**,**.table--mh-medium** or **.table--mh-large** to the table component will give the table container a max height and the ability to scroll.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { setupBasicTable, paginateRows, findForm, paginateTable } from '../../modules/table';
|
|
2
|
+
|
|
3
|
+
class iamTableBasic extends HTMLElement {
|
|
4
|
+
constructor() {
|
|
5
|
+
super();
|
|
6
|
+
this.attachShadow({ mode: 'open' });
|
|
7
|
+
const assetLocation = document.body.hasAttribute('data-assets-location')
|
|
8
|
+
? document.body.getAttribute('data-assets-location')
|
|
9
|
+
: '/assets';
|
|
10
|
+
|
|
11
|
+
const loadCSS = `@import "${assetLocation}/css/components/table.component.css";`;
|
|
12
|
+
const loadExtraCSS = `@import "${assetLocation}/css/components/table-basic.global.css";`;
|
|
13
|
+
|
|
14
|
+
const template = document.createElement('template');
|
|
15
|
+
template.innerHTML = `
|
|
16
|
+
<style>
|
|
17
|
+
${loadCSS}
|
|
18
|
+
|
|
19
|
+
${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
|
|
20
|
+
</style>
|
|
21
|
+
<div class="table__container" part="container">
|
|
22
|
+
<slot name="before"></slot>
|
|
23
|
+
<div class="table--cta">
|
|
24
|
+
<div class="table__wrapper" part="wrapper">
|
|
25
|
+
<slot></slot>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
<iam-pagination part="pagination" class="pagination--table" ${this.hasAttribute('data-page') ? `data-page="${this.getAttribute('data-page')}"` : ''} ></iam-pagination>
|
|
29
|
+
</div>
|
|
30
|
+
`;
|
|
31
|
+
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
|
32
|
+
|
|
33
|
+
// insert extra CSS
|
|
34
|
+
if (
|
|
35
|
+
!document.getElementById('tableBasicExtras') &&
|
|
36
|
+
!document.getElementById('tableSingleExtras') &&
|
|
37
|
+
!document.getElementById('tableExtras')
|
|
38
|
+
) {
|
|
39
|
+
document.head.insertAdjacentHTML('beforeend', `<style id="tableBasicExtras">${loadExtraCSS}</style>`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
connectedCallback(): void {
|
|
44
|
+
const pagination = this.shadowRoot.querySelector('iam-pagination');
|
|
45
|
+
const table = this.querySelector('table');
|
|
46
|
+
const form = findForm(this, table);
|
|
47
|
+
|
|
48
|
+
setupBasicTable(this, table, form, pagination);
|
|
49
|
+
|
|
50
|
+
paginateTable(this, table, form, pagination, () => {
|
|
51
|
+
paginateRows(component);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export default iamTableBasic;
|