ngx-ode-ui 3.12.0-dev.1 → 3.12.0-dev.13

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.
Files changed (32) hide show
  1. package/bundles/ngx-ode-ui.umd.js +261 -9
  2. package/bundles/ngx-ode-ui.umd.js.map +1 -1
  3. package/bundles/ngx-ode-ui.umd.min.js +1 -1
  4. package/bundles/ngx-ode-ui.umd.min.js.map +1 -1
  5. package/esm2015/lib/components/dropdown/dropdown.component.js +76 -0
  6. package/esm2015/lib/components/list/list.component.js +18 -4
  7. package/esm2015/lib/components/list-checkable/list-checkable.component.js +137 -0
  8. package/esm2015/lib/components/multi-combo/multi-combo.component.js +2 -2
  9. package/esm2015/lib/components/search-input/search-input.component.js +15 -3
  10. package/esm2015/lib/ngx-ode-ui.module.js +8 -2
  11. package/esm2015/ngx-ode-ui.js +3 -2
  12. package/esm2015/public-api.js +2 -1
  13. package/esm5/lib/components/dropdown/dropdown.component.js +81 -0
  14. package/esm5/lib/components/list/list.component.js +18 -4
  15. package/esm5/lib/components/list-checkable/list-checkable.component.js +148 -0
  16. package/esm5/lib/components/multi-combo/multi-combo.component.js +2 -2
  17. package/esm5/lib/components/search-input/search-input.component.js +16 -5
  18. package/esm5/lib/ngx-ode-ui.module.js +8 -2
  19. package/esm5/ngx-ode-ui.js +3 -2
  20. package/esm5/public-api.js +2 -1
  21. package/fesm2015/ngx-ode-ui.js +247 -8
  22. package/fesm2015/ngx-ode-ui.js.map +1 -1
  23. package/fesm5/ngx-ode-ui.js +260 -10
  24. package/fesm5/ngx-ode-ui.js.map +1 -1
  25. package/lib/components/dropdown/dropdown.component.d.ts +36 -0
  26. package/lib/components/list/list.component.d.ts +5 -1
  27. package/lib/components/list-checkable/list-checkable.component.d.ts +55 -0
  28. package/lib/components/search-input/search-input.component.d.ts +3 -0
  29. package/ngx-ode-ui.d.ts +1 -0
  30. package/ngx-ode-ui.metadata.json +1 -1
  31. package/package.json +1 -1
  32. package/public-api.d.ts +1 -0
@@ -1574,9 +1574,11 @@
1574
1574
  /* Store pipe */
1575
1575
  _this.self = _this;
1576
1576
  _this._storedElements = [];
1577
- _this.model = [];
1578
1577
  _this.searchPlaceholder = 'search';
1579
1578
  _this.noResultsLabel = 'list.results.no.items';
1579
+ _this.placeholder = 'list.placeholder';
1580
+ _this.isSearchActive = true;
1581
+ _this.searchInput = false;
1580
1582
  _this.inputChange = new core.EventEmitter();
1581
1583
  _this.onSelect = new core.EventEmitter();
1582
1584
  _this.listChange = new core.EventEmitter();
@@ -1619,8 +1621,8 @@
1619
1621
  ListComponent.decorators = [
1620
1622
  { type: core.Component, args: [{
1621
1623
  selector: 'ode-list',
1622
- template: "<ode-search-input [attr.placeholder]=\"searchPlaceholder | translate\" (onChange)=\"inputChange.emit($event)\"></ode-search-input>\n<div class=\"toolbar\">\n <ng-content select=\"[toolbar]\"></ng-content>\n</div>\n<div class=\"list-wrapper\"\n infiniteScroll\n [scrollWindow]=\"false\"\n (scrolled)=\"scrolledDown.emit()\"\n [infiniteScrollThrottle]=\"50\">\n <ul>\n <li *ngFor=\"let item of model | filter: filters | filter: inputFilter | store:self:'storedElements' | orderBy: sort | slice: 0:limit\"\n (click)=\"onSelect.emit(item)\"\n [class.selected]=\"isSelected(item)\"\n [class.disabled]=\"isDisabled(item)\"\n [ngClass]=\"ngClass(item)\"\n class=\"lct-list-item\">\n <ng-template [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-template>\n </li>\n </ul>\n <ul *ngIf=\"storedElements && storedElements.length === 0\">\n <li class=\"no-results\">{{ noResultsLabel | translate }}</li>\n </ul>\n</div>\n",
1623
- styles: ["ul{margin:0;padding:0;font-size:.9em}ul li{cursor:pointer;border-top:1px solid #ddd;padding:10px}ul li.disabled{pointer-events:none}"]
1624
+ template: "<ode-search-input\n *ngIf=\"isSearchActive\"\n [searchInput]=\"searchInput\"\n [searchSubmit]=\"searchSubmit\"\n [attr.placeholder]=\"searchPlaceholder | translate\"\n (onChange)=\"inputChange.emit($event)\"></ode-search-input>\n<div class=\"toolbar\">\n <ng-content select=\"[toolbar]\"></ng-content>\n</div>\n<div class=\"list-wrapper\"\n infiniteScroll\n [scrollWindow]=\"false\"\n (scrolled)=\"scrolledDown.emit()\"\n [infiniteScrollThrottle]=\"50\">\n <ul>\n <li *ngFor=\"let item of model | filter: filters | filter: inputFilter | store:self:'storedElements' | orderBy: sort | slice: 0:limit\"\n (click)=\"onSelect.emit(item)\"\n [class.selected]=\"isSelected(item)\"\n [class.disabled]=\"isDisabled(item)\"\n [ngClass]=\"ngClass(item)\"\n class=\"lct-list-item\">\n <ng-template [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-template>\n </li>\n </ul>\n <ul *ngIf=\"storedElements && storedElements.length === 0\">\n <li class=\"no-results\">{{ noResultsLabel | translate }}</li>\n </ul>\n <ul *ngIf=\"!model\">\n <li class=\"placeholder\">{{ placeholder | translate }}</li>\n </ul>\n</div>\n",
1625
+ styles: ["ul{margin:0;padding:0;font-size:.9em}ul li{cursor:pointer;border-top:1px solid #ddd;padding:10px}ul li.no-results{padding:50px;text-align:center;font-style:italic}ul li.no-results:hover{cursor:default!important;background-color:inherit!important}ul li.placeholder{color:#aaa;padding:50px;text-align:center}ul li.placeholder:hover{cursor:default!important;background-color:inherit!important}ul li.disabled{pointer-events:none}.list-wrapper{min-height:30vh}"]
1624
1626
  }] }
1625
1627
  ];
1626
1628
  /** @nocollapse */
@@ -1635,6 +1637,10 @@
1635
1637
  limit: [{ type: core.Input }],
1636
1638
  searchPlaceholder: [{ type: core.Input }],
1637
1639
  noResultsLabel: [{ type: core.Input }],
1640
+ placeholder: [{ type: core.Input }],
1641
+ isSearchActive: [{ type: core.Input }],
1642
+ searchInput: [{ type: core.Input }],
1643
+ searchSubmit: [{ type: core.Input }],
1638
1644
  inputChange: [{ type: core.Output }],
1639
1645
  onSelect: [{ type: core.Output }],
1640
1646
  listChange: [{ type: core.Output }],
@@ -1666,6 +1672,14 @@
1666
1672
  /** @type {?} */
1667
1673
  ListComponent.prototype.noResultsLabel;
1668
1674
  /** @type {?} */
1675
+ ListComponent.prototype.placeholder;
1676
+ /** @type {?} */
1677
+ ListComponent.prototype.isSearchActive;
1678
+ /** @type {?} */
1679
+ ListComponent.prototype.searchInput;
1680
+ /** @type {?} */
1681
+ ListComponent.prototype.searchSubmit;
1682
+ /** @type {?} */
1669
1683
  ListComponent.prototype.inputChange;
1670
1684
  /** @type {?} */
1671
1685
  ListComponent.prototype.onSelect;
@@ -1683,6 +1697,150 @@
1683
1697
  ListComponent.prototype.ngClass;
1684
1698
  }
1685
1699
 
1700
+ /**
1701
+ * @fileoverview added by tsickle
1702
+ * Generated from: lib/components/list-checkable/list-checkable.component.ts
1703
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1704
+ */
1705
+ var ListCheckableComponent = /** @class */ (function (_super) {
1706
+ __extends(ListCheckableComponent, _super);
1707
+ function ListCheckableComponent(injector) {
1708
+ var _this = _super.call(this, injector) || this;
1709
+ _this.model = [];
1710
+ _this.noResultsLabel = 'list.results.no.items';
1711
+ _this.readOnly = false;
1712
+ _this.onCheck = new core.EventEmitter();
1713
+ _this.listChange = new core.EventEmitter();
1714
+ _this.scrolledDown = new core.EventEmitter();
1715
+ _this.areAllChecked = (/**
1716
+ * @return {?}
1717
+ */
1718
+ function () { return false; });
1719
+ _this.isChecked = (/**
1720
+ * @param {?=} arg
1721
+ * @return {?}
1722
+ */
1723
+ function (arg) { return false; });
1724
+ _this.isDisabled = (/**
1725
+ * @param {?=} arg
1726
+ * @return {?}
1727
+ */
1728
+ function (arg) { return false; });
1729
+ _this.ngClass = (/**
1730
+ * @param {?=} arg
1731
+ * @return {?}
1732
+ */
1733
+ function (arg) { return ({}); });
1734
+ /* Store pipe */
1735
+ _this.self = _this;
1736
+ _this._storedElements = [];
1737
+ return _this;
1738
+ }
1739
+ Object.defineProperty(ListCheckableComponent.prototype, "storedElements", {
1740
+ get: /**
1741
+ * @return {?}
1742
+ */
1743
+ function () {
1744
+ return this._storedElements;
1745
+ },
1746
+ set: /**
1747
+ * @param {?} list
1748
+ * @return {?}
1749
+ */
1750
+ function (list) {
1751
+ this._storedElements = list;
1752
+ this.listChange.emit(list);
1753
+ },
1754
+ enumerable: true,
1755
+ configurable: true
1756
+ });
1757
+ /**
1758
+ * @param {?} checkAll
1759
+ * @return {?}
1760
+ */
1761
+ ListCheckableComponent.prototype.toggleAll = /**
1762
+ * @param {?} checkAll
1763
+ * @return {?}
1764
+ */
1765
+ function (checkAll) {
1766
+ var _this = this;
1767
+ this.model.forEach((/**
1768
+ * @param {?} item
1769
+ * @return {?}
1770
+ */
1771
+ function (item) {
1772
+ /** @type {?} */
1773
+ var isChecked = _this.isChecked(item);
1774
+ if (!_this.isDisabled(item)
1775
+ && ((isChecked && !checkAll) || (!isChecked && checkAll))) {
1776
+ _this.onCheck.emit({ item: item, checked: checkAll });
1777
+ }
1778
+ }));
1779
+ };
1780
+ ListCheckableComponent.decorators = [
1781
+ { type: core.Component, args: [{
1782
+ selector: 'ode-list-checkable',
1783
+ template: "<div class=\"list-checkable-wrapper\"\n infiniteScroll\n [scrollWindow]=\"false\"\n (scrolled)=\"scrolledDown.emit()\"\n [infiniteScrollThrottle]=\"50\">\n\n <ul *ngIf=\"storedElements && storedElements.length === 0\">\n <li class=\"no-results\"><span>{{ noResultsLabel | translate }}</span></li>\n </ul>\n \n <ul>\n <li class=\"select-all\" \n [class.checked]=\"areAllChecked()\"\n *ngIf=\"!readOnly\">\n <label>\n <span>{{(areAllChecked() ? 'ux.multiselect.deselect-all' : 'ux.multiselect.select-all') | translate}}</span>\n <input type=\"checkbox\" [checked]=\"areAllChecked()\" (change)=\"toggleAll($event.target.checked)\" />\n </label>\n </li>\n\n <li class=\"lct-list-checkable-item\" \n [class.checked]=\"isChecked(item)\"\n [class.disabled]=\"isDisabled(item)\"\n [ngClass]=\"ngClass(item)\"\n *ngFor=\"let item of model | filter: filters | store:self:'storedElements' | orderBy: sort | slice: 0:limit\">\n <label>\n <span>\n <ng-template [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletContext]=\"{$implicit: item}\"></ng-template> \n </span>\n <input *ngIf=\"!readOnly\" type=\"checkbox\" \n [disabled]=\"isDisabled(item)\"\n [checked]=\"isChecked(item)\"\n (change)=\"onCheck.emit({item:item, checked:$event.target.checked})\"/>\n </label>\n </li>\n </ul>\n\n</div>\n",
1784
+ styles: ["ul{margin:0;padding:0;font-size:.9em}ul li{border-top:1px solid #ddd;width:-webkit-fill-available;width:-moz-available;display:flex}ul li:not(.checked){color:#939393}ul li.disabled{pointer-events:none}ul li.select-all{background-color:#ff83520a;color:#5b6472}ul li.select-all span{text-align:right}ul li label{cursor:pointer;width:100%;display:flex}ul li label:hover{background-color:#eaedf2}ul li label span{padding:7px 15px;width:100%}ul li label input[type=checkbox]{margin-right:15px;-ms-grid-row-align:center;align-self:center}"]
1785
+ }] }
1786
+ ];
1787
+ /** @nocollapse */
1788
+ ListCheckableComponent.ctorParameters = function () { return [
1789
+ { type: core.Injector }
1790
+ ]; };
1791
+ ListCheckableComponent.propDecorators = {
1792
+ model: [{ type: core.Input }],
1793
+ filters: [{ type: core.Input }],
1794
+ sort: [{ type: core.Input }],
1795
+ limit: [{ type: core.Input }],
1796
+ noResultsLabel: [{ type: core.Input }],
1797
+ readOnly: [{ type: core.Input }],
1798
+ onCheck: [{ type: core.Output }],
1799
+ listChange: [{ type: core.Output }],
1800
+ scrolledDown: [{ type: core.Output }],
1801
+ templateRef: [{ type: core.ContentChild, args: [core.TemplateRef, { static: false },] }],
1802
+ areAllChecked: [{ type: core.Input }],
1803
+ isChecked: [{ type: core.Input }],
1804
+ isDisabled: [{ type: core.Input }],
1805
+ ngClass: [{ type: core.Input }]
1806
+ };
1807
+ return ListCheckableComponent;
1808
+ }(ngxOdeCore.OdeComponent));
1809
+ if (false) {
1810
+ /** @type {?} */
1811
+ ListCheckableComponent.prototype.model;
1812
+ /** @type {?} */
1813
+ ListCheckableComponent.prototype.filters;
1814
+ /** @type {?} */
1815
+ ListCheckableComponent.prototype.sort;
1816
+ /** @type {?} */
1817
+ ListCheckableComponent.prototype.limit;
1818
+ /** @type {?} */
1819
+ ListCheckableComponent.prototype.noResultsLabel;
1820
+ /** @type {?} */
1821
+ ListCheckableComponent.prototype.readOnly;
1822
+ /** @type {?} */
1823
+ ListCheckableComponent.prototype.onCheck;
1824
+ /** @type {?} */
1825
+ ListCheckableComponent.prototype.listChange;
1826
+ /** @type {?} */
1827
+ ListCheckableComponent.prototype.scrolledDown;
1828
+ /** @type {?} */
1829
+ ListCheckableComponent.prototype.templateRef;
1830
+ /** @type {?} */
1831
+ ListCheckableComponent.prototype.areAllChecked;
1832
+ /** @type {?} */
1833
+ ListCheckableComponent.prototype.isChecked;
1834
+ /** @type {?} */
1835
+ ListCheckableComponent.prototype.isDisabled;
1836
+ /** @type {?} */
1837
+ ListCheckableComponent.prototype.ngClass;
1838
+ /** @type {?} */
1839
+ ListCheckableComponent.prototype.self;
1840
+ /** @type {?} */
1841
+ ListCheckableComponent.prototype._storedElements;
1842
+ }
1843
+
1686
1844
  /**
1687
1845
  * @fileoverview added by tsickle
1688
1846
  * Generated from: lib/components/message-box/message-box.component.ts
@@ -2494,7 +2652,7 @@
2494
2652
  MultiComboComponent.decorators = [
2495
2653
  { type: core.Component, args: [{
2496
2654
  selector: 'ode-multi-combo',
2497
- template: "<button (click)=\"toggleVisibility()\"\n [ngClass]=\"{ opened: show }\"\n [disabled]=\"disabled\">\n {{ title }}\n</button>\n<div [ngClass]=\"{ hidden: !show }\">\n <div class=\"options\">\n <button class=\"select-all\" (click)=\"selectAll()\" *ngIf=\"!maxSelected\"\n [title]=\"labels('select.all')\">{{ labels('select.all') }}</button>\n <button class=\"deselect-all\" (click)=\"deselectAll()\"\n [title]=\"labels('deselect.all')\">{{ labels('deselect.all') }}</button>\n </div>\n <div *ngIf=\"filter\" class=\"filter\">\n <ode-search-input (onChange)=\"search.input = $event\" [attr.placeholder]=\"labels('search')\"></ode-search-input>\n </div>\n <ul>\n <li *ngFor=\"let item of _comboModel | filter: getFilter() | orderBy: orderBy | store: self:'filteredComboModel'\"\n (click)=\"toggleItem(item)\"\n [ngClass]=\"{ selected: isSelected(item) }\"\n [attr.disabled]=\"isDisabled()\">\n {{ displayItem(item) | translate }}\n </li>\n </ul>\n</div>\n",
2655
+ template: "<button (click)=\"toggleVisibility()\"\n [ngClass]=\"{ opened: show }\"\n [disabled]=\"disabled\"\n type=\"button\">\n {{ title }}\n</button>\n<div [ngClass]=\"{ hidden: !show }\">\n <div class=\"options\">\n <button class=\"select-all\" (click)=\"selectAll()\" *ngIf=\"!maxSelected\"\n [title]=\"labels('select.all')\" type=\"button\">{{ labels('select.all') }}</button>\n <button class=\"deselect-all\" (click)=\"deselectAll()\"\n [title]=\"labels('deselect.all')\" type=\"button\">{{ labels('deselect.all') }}</button>\n </div>\n <div *ngIf=\"filter\" class=\"filter\">\n <ode-search-input (onChange)=\"search.input = $event\" [attr.placeholder]=\"labels('search')\"></ode-search-input>\n </div>\n <ul>\n <li *ngFor=\"let item of _comboModel | filter: getFilter() | orderBy: orderBy | store: self:'filteredComboModel'\"\n (click)=\"toggleItem(item)\"\n [ngClass]=\"{ selected: isSelected(item) }\"\n [attr.disabled]=\"isDisabled()\">\n {{ displayItem(item) | translate }}\n </li>\n </ul>\n</div>\n",
2498
2656
  host: {
2499
2657
  '(document:click)': 'onClick($event)',
2500
2658
  },
@@ -2985,6 +3143,9 @@
2985
3143
  var _this = _super.call(this, injector) || this;
2986
3144
  _this._elRef = _elRef;
2987
3145
  _this._renderer = _renderer;
3146
+ /* Inputs / Outputs / View */
3147
+ _this.isSearchActive = false;
3148
+ _this.searchInput = false;
2988
3149
  _this._delay = 200;
2989
3150
  _this.onChange = new core.EventEmitter();
2990
3151
  /* Internal logic */
@@ -2998,9 +3159,7 @@
2998
3159
  function () {
2999
3160
  return this._delay;
3000
3161
  },
3001
- /* Inputs / Outputs / View */
3002
- set: /* Inputs / Outputs / View */
3003
- /**
3162
+ set: /**
3004
3163
  * @param {?} d
3005
3164
  * @return {?}
3006
3165
  */
@@ -3090,7 +3249,8 @@
3090
3249
  SearchInputComponent.decorators = [
3091
3250
  { type: core.Component, args: [{
3092
3251
  selector: 'ode-search-input',
3093
- template: "<input type=\"search\" #searchBox (input)=\"search(searchBox.value)\"/>\n"
3252
+ template: "<form\n class=\"search-container\"\n (ngSubmit)=\"searchInput && searchSubmit()\">\n <input\n #searchBox\n class=\"search-input\"\n name=\"searchTerm\"\n type=\"search\"\n (input)=\"search(searchBox.value)\" />\n <button class=\"search-button\" *ngIf=\"searchInput\">\n <i class=\"fa fa-search is-size-4 search-icon\"></i>\n </button>\n</form>\n\n<!-- <input *ngIf=\"!searchInput\" type=\"search\" #searchBox (input)=\"search(searchBox.value)\"/> -->",
3253
+ styles: [":host .search-container{margin:0;display:flex}:host .search-icon{padding-left:0}:host .search-button{margin:0;background:#ff8352;color:#fff}"]
3094
3254
  }] }
3095
3255
  ];
3096
3256
  /** @nocollapse */
@@ -3100,6 +3260,9 @@
3100
3260
  { type: core.Renderer2 }
3101
3261
  ]; };
3102
3262
  SearchInputComponent.propDecorators = {
3263
+ isSearchActive: [{ type: core.Input }],
3264
+ searchInput: [{ type: core.Input }],
3265
+ searchSubmit: [{ type: core.Input }],
3103
3266
  delay: [{ type: core.Input }],
3104
3267
  onChange: [{ type: core.Output }],
3105
3268
  searchBox: [{ type: core.ViewChild, args: ['searchBox', { static: false },] }]
@@ -3107,6 +3270,12 @@
3107
3270
  return SearchInputComponent;
3108
3271
  }(ngxOdeCore.OdeComponent));
3109
3272
  if (false) {
3273
+ /** @type {?} */
3274
+ SearchInputComponent.prototype.isSearchActive;
3275
+ /** @type {?} */
3276
+ SearchInputComponent.prototype.searchInput;
3277
+ /** @type {?} */
3278
+ SearchInputComponent.prototype.searchSubmit;
3110
3279
  /**
3111
3280
  * @type {?}
3112
3281
  * @private
@@ -5191,6 +5360,83 @@
5191
5360
  return el.triggerEventHandler('click', null);
5192
5361
  }
5193
5362
 
5363
+ /**
5364
+ * @fileoverview added by tsickle
5365
+ * Generated from: lib/components/dropdown/dropdown.component.ts
5366
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5367
+ */
5368
+ /**
5369
+ * DropdownComponent is an alternative to the MonoSelectComponent.
5370
+ * Accept everything inside <ng-content> but should work with <ode-list> component
5371
+ *
5372
+ * Simple Dropdown Component without search:
5373
+ * [isSearchActive] can be set to false to disable search input in <ode-list>
5374
+ * ```
5375
+ * <ode-dropdown
5376
+ * [name]="option_name"
5377
+ * [isDropdownOpened]="a_boolean"
5378
+ * (onDropdown)="toggle_func"
5379
+ * >
5380
+ * <ode-list
5381
+ * [model]="model"
5382
+ * [filters]="filters"
5383
+ * (onSelect)="func_to_select_elem($event)"
5384
+ * (inputChange)="a_string_for_input_value = $event"
5385
+ * noResultsLabel="text_to_display"
5386
+ * searchPlaceholder="default_placeholder_text"
5387
+ * >
5388
+ * <ng-template let-item>
5389
+ * <div>{{ item.name }}</div>
5390
+ * </ng-template>
5391
+ * </ode-list>
5392
+ * </ode-dropdown>
5393
+ * `̀``
5394
+ */
5395
+ var DropdownComponent = /** @class */ (function (_super) {
5396
+ __extends(DropdownComponent, _super);
5397
+ function DropdownComponent(injector) {
5398
+ var _this = _super.call(this, injector) || this;
5399
+ _this.name = '';
5400
+ _this.isDropdownOpened = false;
5401
+ _this.onDropdown = new core.EventEmitter();
5402
+ return _this;
5403
+ }
5404
+ /**
5405
+ * @return {?}
5406
+ */
5407
+ DropdownComponent.prototype.ngOnInit = /**
5408
+ * @return {?}
5409
+ */
5410
+ function () {
5411
+ _super.prototype.ngOnInit.call(this);
5412
+ };
5413
+ DropdownComponent.decorators = [
5414
+ { type: core.Component, args: [{
5415
+ selector: 'ode-dropdown',
5416
+ template: "<div class=\"dropdown\" [ngClass]=\"isDropdownOpened ? 'open' : ''\">\n <button (click)=\"onDropdown.emit()\" class=\"dropdown-trigger\">\n <span class=\"cell-ellipsis\">{{ name }}</span> <i class=\"fonticon arrow-select\"></i>\n </button>\n <div class=\"dropdown-list\">\n <ng-content></ng-content>\n </div>\n</div>\n",
5417
+ styles: [".dropdown{position:relative;width:230px;box-sizing:border-box}.dropdown *{box-sizing:border-box}.dropdown-trigger{cursor:pointer;display:inline-flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:14px;color:#4a4a4a;text-transform:uppercase;text-align:left;width:100%;border-radius:8px;border:1px solid #7a7a7a;background-color:#fff}.dropdown-trigger>span{display:inline-block;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dropdown-trigger i.arrow-select{display:inline-block;float:none!important;padding-left:0;transform:rotate(180deg);transform-origin:center center}.dropdown-trigger:hover{color:#4a4a4a;border-color:#7a7a7a;background-color:#fff}.dropdown-trigger:hover i.arrow-select{color:#4a4a4a!important}.dropdown-list{display:none;position:absolute;overflow:hidden;z-index:2;top:100%;left:0;right:0;width:316px;box-shadow:0 4px 12px 0 rgba(0,0,0,.15);border-radius:8px;background-color:#fff}.dropdown::ng-deep ode-list li{justify-content:flex-start}.dropdown::ng-deep ode-list input[type=search]{padding:12px 16px}.dropdown.open .dropdown-list{display:block}.dropdown.open i.arrow-select{transform:rotate(0)}"]
5418
+ }] }
5419
+ ];
5420
+ /** @nocollapse */
5421
+ DropdownComponent.ctorParameters = function () { return [
5422
+ { type: core.Injector }
5423
+ ]; };
5424
+ DropdownComponent.propDecorators = {
5425
+ name: [{ type: core.Input }],
5426
+ isDropdownOpened: [{ type: core.Input }],
5427
+ onDropdown: [{ type: core.Output }]
5428
+ };
5429
+ return DropdownComponent;
5430
+ }(ngxOdeCore.OdeComponent));
5431
+ if (false) {
5432
+ /** @type {?} */
5433
+ DropdownComponent.prototype.name;
5434
+ /** @type {?} */
5435
+ DropdownComponent.prototype.isDropdownOpened;
5436
+ /** @type {?} */
5437
+ DropdownComponent.prototype.onDropdown;
5438
+ }
5439
+
5194
5440
  /**
5195
5441
  * @fileoverview added by tsickle
5196
5442
  * Generated from: lib/ngx-ode-ui.module.ts
@@ -5239,6 +5485,7 @@
5239
5485
  LightBoxComponent,
5240
5486
  LightboxConfirmComponent,
5241
5487
  ListComponent,
5488
+ ListCheckableComponent,
5242
5489
  MonoSelectComponent,
5243
5490
  MultiSelectComponent,
5244
5491
  MultiComboComponent,
@@ -5273,7 +5520,8 @@
5273
5520
  LocalizedDatePipe,
5274
5521
  BytesPipe,
5275
5522
  KeysPipe,
5276
- LengthPipe
5523
+ LengthPipe,
5524
+ DropdownComponent
5277
5525
  ],
5278
5526
  imports: [
5279
5527
  common.CommonModule,
@@ -5290,6 +5538,7 @@
5290
5538
  LightBoxComponent,
5291
5539
  LightboxConfirmComponent,
5292
5540
  ListComponent,
5541
+ ListCheckableComponent,
5293
5542
  MonoSelectComponent,
5294
5543
  MultiSelectComponent,
5295
5544
  MultiComboComponent,
@@ -5309,6 +5558,7 @@
5309
5558
  SpinnerCubeComponent,
5310
5559
  PagerComponent,
5311
5560
  EllipsisComponent,
5561
+ DropdownComponent,
5312
5562
  // directives
5313
5563
  AnchorDirective,
5314
5564
  DynamicTemplateDirective,
@@ -5355,6 +5605,7 @@
5355
5605
  exports.LightBoxComponent = LightBoxComponent;
5356
5606
  exports.LightboxConfirmComponent = LightboxConfirmComponent;
5357
5607
  exports.LimitPipe = LimitPipe;
5608
+ exports.ListCheckableComponent = ListCheckableComponent;
5358
5609
  exports.ListComponent = ListComponent;
5359
5610
  exports.LocalizedDatePipe = LocalizedDatePipe;
5360
5611
  exports.MessageBoxComponent = MessageBoxComponent;
@@ -5389,6 +5640,7 @@
5389
5640
  exports.standardise = standardise;
5390
5641
  exports.toDecimal = toDecimal;
5391
5642
  exports.trim = trim;
5643
+ exports.ɵa = DropdownComponent;
5392
5644
 
5393
5645
  Object.defineProperty(exports, '__esModule', { value: true });
5394
5646