ngx-ode-ui 4.6.0-dev-produit.2 → 4.6.0-dev-integration.2
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/CHANGELOG.md +14 -0
- package/bundles/ngx-ode-ui.umd.js +5804 -0
- package/bundles/ngx-ode-ui.umd.js.map +1 -0
- package/bundles/ngx-ode-ui.umd.min.js +17 -0
- package/bundles/ngx-ode-ui.umd.min.js.map +1 -0
- package/esm2015/lib/components/datepicker/datepicker.component.js +261 -0
- package/esm2015/lib/components/dropdown/dropdown.component.js +76 -0
- package/esm2015/lib/components/ellipsis/ellipsis.component.js +98 -0
- package/esm2015/lib/components/form-errors/form-errors.component.js +65 -0
- package/esm2015/lib/components/form-field/form-field.component.js +40 -0
- package/esm2015/lib/components/item-tree/item-tree.component.js +289 -0
- package/esm2015/lib/components/lightbox/lightbox.component.js +129 -0
- package/esm2015/lib/components/lightbox-confirm/lightbox-confirm.component.js +65 -0
- package/esm2015/lib/components/list/list.component.js +140 -0
- package/esm2015/lib/components/list-checkable/list-checkable.component.js +137 -0
- package/esm2015/lib/components/message-box/message-box.component.js +153 -0
- package/esm2015/lib/components/message-sticker/message-sticker.component.js +81 -0
- package/esm2015/lib/components/mono-select/mono-select.component.js +164 -0
- package/esm2015/lib/components/multi-combo/multi-combo.component.js +255 -0
- package/esm2015/lib/components/multi-select/multi-select.component.js +214 -0
- package/esm2015/lib/components/panel-section/panel-section.component.js +38 -0
- package/esm2015/lib/components/portal/portal.component.js +27 -0
- package/esm2015/lib/components/push-panel/push-panel.component.js +81 -0
- package/esm2015/lib/components/search-input/search-input.component.js +176 -0
- package/esm2015/lib/components/search-toolbar/search-toolbar.component.js +84 -0
- package/esm2015/lib/components/side-layout/side-layout.component.js +39 -0
- package/esm2015/lib/components/side-panel/side-panel.component.js +76 -0
- package/esm2015/lib/components/spinner-cube/spinner-cube.component.js +67 -0
- package/esm2015/lib/components/table/pager.component.js +95 -0
- package/esm2015/lib/components/tooltip/tooltip.component.js +172 -0
- package/esm2015/lib/components/upload-files/upload-files.component.js +112 -0
- package/esm2015/lib/components/value-editable/simple-select.component.js +57 -0
- package/esm2015/lib/components/wizard/wizard.component.js +225 -0
- package/esm2015/lib/directives/anchor.directive.js +34 -0
- package/esm2015/lib/directives/drag-and-drop-files.directive.js +126 -0
- package/esm2015/lib/directives/dynamic-component/component-descriptor.model.js +34 -0
- package/esm2015/lib/directives/dynamic-component/dynamic-component.directive.js +100 -0
- package/esm2015/lib/directives/dynamictemplate.directive.js +159 -0
- package/esm2015/lib/directives/object-url.directive.js +53 -0
- package/esm2015/lib/ngx-ode-ui.module.js +188 -0
- package/esm2015/lib/pipes/bytes.pipe.js +27 -0
- package/esm2015/lib/pipes/filter.pipe.js +141 -0
- package/esm2015/lib/pipes/flattenObjArray.pipe.js +52 -0
- package/esm2015/lib/pipes/keys.pipe.js +27 -0
- package/esm2015/lib/pipes/length.pipe.js +22 -0
- package/esm2015/lib/pipes/limit.pipe.js +24 -0
- package/esm2015/lib/pipes/localizedDate.pipe.js +44 -0
- package/esm2015/lib/pipes/orderBy.pipe.js +269 -0
- package/esm2015/lib/pipes/store.pipe.js +24 -0
- package/esm2015/lib/services/dynamicModuleImports.service.js +19 -0
- package/esm2015/lib/services/inputFile.service.js +80 -0
- package/esm2015/lib/services/labels.service.js +54 -0
- package/esm2015/lib/services/spinner.service.js +163 -0
- package/esm2015/lib/utils/math.js +49 -0
- package/esm2015/lib/utils/string.js +29 -0
- package/esm2015/lib/utils/testing.js +20 -0
- package/esm2015/ngx-ode-ui.js +12 -0
- package/esm2015/public-api.js +59 -0
- package/esm5/lib/components/datepicker/datepicker.component.js +292 -0
- package/esm5/lib/components/dropdown/dropdown.component.js +81 -0
- package/esm5/lib/components/ellipsis/ellipsis.component.js +106 -0
- package/esm5/lib/components/form-errors/form-errors.component.js +73 -0
- package/esm5/lib/components/form-field/form-field.component.js +41 -0
- package/esm5/lib/components/item-tree/item-tree.component.js +345 -0
- package/esm5/lib/components/lightbox/lightbox.component.js +141 -0
- package/esm5/lib/components/lightbox-confirm/lightbox-confirm.component.js +67 -0
- package/esm5/lib/components/list/list.component.js +146 -0
- package/esm5/lib/components/list-checkable/list-checkable.component.js +148 -0
- package/esm5/lib/components/message-box/message-box.component.js +190 -0
- package/esm5/lib/components/message-sticker/message-sticker.component.js +92 -0
- package/esm5/lib/components/mono-select/mono-select.component.js +192 -0
- package/esm5/lib/components/multi-combo/multi-combo.component.js +294 -0
- package/esm5/lib/components/multi-select/multi-select.component.js +258 -0
- package/esm5/lib/components/panel-section/panel-section.component.js +40 -0
- package/esm5/lib/components/portal/portal.component.js +28 -0
- package/esm5/lib/components/push-panel/push-panel.component.js +91 -0
- package/esm5/lib/components/search-input/search-input.component.js +199 -0
- package/esm5/lib/components/search-toolbar/search-toolbar.component.js +93 -0
- package/esm5/lib/components/side-layout/side-layout.component.js +41 -0
- package/esm5/lib/components/side-panel/side-panel.component.js +85 -0
- package/esm5/lib/components/spinner-cube/spinner-cube.component.js +76 -0
- package/esm5/lib/components/table/pager.component.js +113 -0
- package/esm5/lib/components/tooltip/tooltip.component.js +188 -0
- package/esm5/lib/components/upload-files/upload-files.component.js +133 -0
- package/esm5/lib/components/value-editable/simple-select.component.js +59 -0
- package/esm5/lib/components/wizard/wizard.component.js +161 -0
- package/esm5/lib/directives/anchor.directive.js +39 -0
- package/esm5/lib/directives/drag-and-drop-files.directive.js +146 -0
- package/esm5/lib/directives/dynamic-component/component-descriptor.model.js +44 -0
- package/esm5/lib/directives/dynamic-component/dynamic-component.directive.js +109 -0
- package/esm5/lib/directives/dynamictemplate.directive.js +175 -0
- package/esm5/lib/directives/object-url.directive.js +62 -0
- package/esm5/lib/ngx-ode-ui.module.js +199 -0
- package/esm5/lib/pipes/bytes.pipe.js +37 -0
- package/esm5/lib/pipes/filter.pipe.js +179 -0
- package/esm5/lib/pipes/flattenObjArray.pipe.js +62 -0
- package/esm5/lib/pipes/keys.pipe.js +36 -0
- package/esm5/lib/pipes/length.pipe.js +30 -0
- package/esm5/lib/pipes/limit.pipe.js +35 -0
- package/esm5/lib/pipes/localizedDate.pipe.js +49 -0
- package/esm5/lib/pipes/orderBy.pipe.js +280 -0
- package/esm5/lib/pipes/store.pipe.js +35 -0
- package/esm5/lib/services/dynamicModuleImports.service.js +21 -0
- package/esm5/lib/services/inputFile.service.js +98 -0
- package/esm5/lib/services/labels.service.js +68 -0
- package/esm5/lib/services/spinner.service.js +195 -0
- package/esm5/lib/utils/math.js +49 -0
- package/esm5/lib/utils/string.js +29 -0
- package/esm5/lib/utils/testing.js +20 -0
- package/esm5/ngx-ode-ui.js +12 -0
- package/esm5/public-api.js +59 -0
- package/fesm2015/ngx-ode-ui.js +5027 -0
- package/fesm2015/ngx-ode-ui.js.map +1 -0
- package/fesm5/ngx-ode-ui.js +5560 -0
- package/fesm5/ngx-ode-ui.js.map +1 -0
- package/lib/components/datepicker/datepicker.component.d.ts +2 -7
- package/lib/components/dropdown/dropdown.component.d.ts +0 -3
- package/lib/components/ellipsis/ellipsis.component.d.ts +1 -4
- package/lib/components/form-errors/form-errors.component.d.ts +0 -3
- package/lib/components/form-field/form-field.component.d.ts +0 -3
- package/lib/components/item-tree/item-tree.component.d.ts +1 -5
- package/lib/components/lightbox/lightbox.component.d.ts +1 -5
- package/lib/components/lightbox-confirm/lightbox-confirm.component.d.ts +0 -3
- package/lib/components/list/list.component.d.ts +1 -5
- package/lib/components/list-checkable/list-checkable.component.d.ts +1 -5
- package/lib/components/message-box/message-box.component.d.ts +4 -8
- package/lib/components/message-sticker/message-sticker.component.d.ts +0 -3
- package/lib/components/mono-select/mono-select.component.d.ts +0 -3
- package/lib/components/multi-combo/multi-combo.component.d.ts +1 -4
- package/lib/components/multi-select/multi-select.component.d.ts +0 -3
- package/lib/components/panel-section/panel-section.component.d.ts +0 -3
- package/lib/components/portal/portal.component.d.ts +0 -3
- package/lib/components/push-panel/push-panel.component.d.ts +1 -4
- package/lib/components/search-input/search-input.component.d.ts +1 -5
- package/lib/components/search-toolbar/search-toolbar.component.d.ts +0 -3
- package/lib/components/side-layout/side-layout.component.d.ts +0 -3
- package/lib/components/side-panel/side-panel.component.d.ts +1 -4
- package/lib/components/spinner-cube/spinner-cube.component.d.ts +1 -5
- package/lib/components/table/pager.component.d.ts +0 -3
- package/lib/components/tooltip/tooltip.component.d.ts +0 -3
- package/lib/components/upload-files/upload-files.component.d.ts +0 -3
- package/lib/components/value-editable/simple-select.component.d.ts +0 -3
- package/lib/components/wizard/wizard.component.d.ts +0 -5
- package/lib/directives/anchor.directive.d.ts +0 -3
- package/lib/directives/drag-and-drop-files.directive.d.ts +0 -3
- package/lib/directives/dynamic-component/dynamic-component.directive.d.ts +0 -3
- package/lib/directives/dynamictemplate.directive.d.ts +1 -4
- package/lib/directives/object-url.directive.d.ts +0 -3
- package/lib/ngx-ode-ui.module.d.ts +2 -53
- package/lib/pipes/bytes.pipe.d.ts +0 -3
- package/lib/pipes/filter.pipe.d.ts +0 -3
- package/lib/pipes/flattenObjArray.pipe.d.ts +0 -3
- package/lib/pipes/keys.pipe.d.ts +0 -3
- package/lib/pipes/length.pipe.d.ts +0 -3
- package/lib/pipes/limit.pipe.d.ts +0 -3
- package/lib/pipes/localizedDate.pipe.d.ts +0 -3
- package/lib/pipes/orderBy.pipe.d.ts +0 -3
- package/lib/pipes/store.pipe.d.ts +0 -3
- package/lib/services/dynamicModuleImports.service.d.ts +0 -3
- package/lib/services/inputFile.service.d.ts +0 -3
- package/lib/services/labels.service.d.ts +0 -3
- package/lib/services/spinner.service.d.ts +1 -4
- package/ngx-ode-ui.d.ts +6 -0
- package/ngx-ode-ui.metadata.json +1 -0
- package/package.json +17 -29
- package/public-api.d.ts +0 -3
- package/esm2020/lib/components/datepicker/datepicker.component.mjs +0 -148
- package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -55
- package/esm2020/lib/components/ellipsis/ellipsis.component.mjs +0 -53
- package/esm2020/lib/components/form-errors/form-errors.component.mjs +0 -35
- package/esm2020/lib/components/form-field/form-field.component.mjs +0 -24
- package/esm2020/lib/components/item-tree/item-tree.component.mjs +0 -170
- package/esm2020/lib/components/lightbox/lightbox.component.mjs +0 -70
- package/esm2020/lib/components/lightbox-confirm/lightbox-confirm.component.mjs +0 -43
- package/esm2020/lib/components/list/list.component.mjs +0 -88
- package/esm2020/lib/components/list-checkable/list-checkable.component.mjs +0 -79
- package/esm2020/lib/components/message-box/message-box.component.mjs +0 -92
- package/esm2020/lib/components/message-sticker/message-sticker.component.mjs +0 -51
- package/esm2020/lib/components/mono-select/mono-select.component.mjs +0 -83
- package/esm2020/lib/components/multi-combo/multi-combo.component.mjs +0 -166
- package/esm2020/lib/components/multi-select/multi-select.component.mjs +0 -104
- package/esm2020/lib/components/panel-section/panel-section.component.mjs +0 -23
- package/esm2020/lib/components/portal/portal.component.mjs +0 -15
- package/esm2020/lib/components/push-panel/push-panel.component.mjs +0 -43
- package/esm2020/lib/components/search-input/search-input.component.mjs +0 -87
- package/esm2020/lib/components/search-toolbar/search-toolbar.component.mjs +0 -56
- package/esm2020/lib/components/side-layout/side-layout.component.mjs +0 -23
- package/esm2020/lib/components/side-panel/side-panel.component.mjs +0 -41
- package/esm2020/lib/components/spinner-cube/spinner-cube.component.mjs +0 -31
- package/esm2020/lib/components/table/pager.component.mjs +0 -48
- package/esm2020/lib/components/tooltip/tooltip.component.mjs +0 -104
- package/esm2020/lib/components/upload-files/upload-files.component.mjs +0 -59
- package/esm2020/lib/components/value-editable/simple-select.component.mjs +0 -29
- package/esm2020/lib/components/wizard/wizard.component.mjs +0 -152
- package/esm2020/lib/directives/anchor.directive.mjs +0 -27
- package/esm2020/lib/directives/drag-and-drop-files.directive.mjs +0 -82
- package/esm2020/lib/directives/dynamic-component/component-descriptor.model.mjs +0 -15
- package/esm2020/lib/directives/dynamic-component/dynamic-component.directive.mjs +0 -58
- package/esm2020/lib/directives/dynamictemplate.directive.mjs +0 -83
- package/esm2020/lib/directives/object-url.directive.mjs +0 -28
- package/esm2020/lib/ngx-ode-ui.module.mjs +0 -282
- package/esm2020/lib/pipes/bytes.pipe.mjs +0 -20
- package/esm2020/lib/pipes/filter.pipe.mjs +0 -97
- package/esm2020/lib/pipes/flattenObjArray.pipe.mjs +0 -35
- package/esm2020/lib/pipes/keys.pipe.mjs +0 -20
- package/esm2020/lib/pipes/length.pipe.mjs +0 -17
- package/esm2020/lib/pipes/limit.pipe.mjs +0 -17
- package/esm2020/lib/pipes/localizedDate.pipe.mjs +0 -23
- package/esm2020/lib/pipes/orderBy.pipe.mjs +0 -161
- package/esm2020/lib/pipes/replace.pipe.mjs +0 -20
- package/esm2020/lib/pipes/store.pipe.mjs +0 -17
- package/esm2020/lib/services/dynamicModuleImports.service.mjs +0 -13
- package/esm2020/lib/services/inputFile.service.mjs +0 -56
- package/esm2020/lib/services/labels.service.mjs +0 -32
- package/esm2020/lib/services/spinner.service.mjs +0 -76
- package/esm2020/lib/utils/math.mjs +0 -19
- package/esm2020/lib/utils/string.mjs +0 -11
- package/esm2020/lib/utils/testing.mjs +0 -7
- package/esm2020/ngx-ode-ui.mjs +0 -5
- package/esm2020/public-api.mjs +0 -57
- package/fesm2015/ngx-ode-ui.mjs +0 -2954
- package/fesm2015/ngx-ode-ui.mjs.map +0 -1
- package/fesm2020/ngx-ode-ui.mjs +0 -2952
- package/fesm2020/ngx-ode-ui.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/pipes/replace.pipe.d.ts +0 -8
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* Generated from: lib/components/search-input/search-input.component.ts
|
|
4
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
+
*/
|
|
6
|
+
import { OdeComponent } from 'ngx-ode-core';
|
|
7
|
+
import { Component, ElementRef, EventEmitter, Input, Output, Renderer2, ViewChild, Injector } from '@angular/core';
|
|
8
|
+
import { Subject } from 'rxjs';
|
|
9
|
+
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
10
|
+
export class SearchInputComponent extends OdeComponent {
|
|
11
|
+
/**
|
|
12
|
+
* @param {?} injector
|
|
13
|
+
* @param {?} _elRef
|
|
14
|
+
* @param {?} _renderer
|
|
15
|
+
*/
|
|
16
|
+
constructor(injector, _elRef, _renderer) {
|
|
17
|
+
super(injector);
|
|
18
|
+
this._elRef = _elRef;
|
|
19
|
+
this._renderer = _renderer;
|
|
20
|
+
/* Inputs / Outputs / View */
|
|
21
|
+
this.isSearchActive = false;
|
|
22
|
+
this.isSearchButtonDisabled = false;
|
|
23
|
+
this.searchInput = false;
|
|
24
|
+
this._delay = 200;
|
|
25
|
+
this.onChange = new EventEmitter();
|
|
26
|
+
/* Internal logic */
|
|
27
|
+
this.$searchTerms = new Subject();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @param {?} d
|
|
31
|
+
* @return {?}
|
|
32
|
+
*/
|
|
33
|
+
set delay(d) {
|
|
34
|
+
this._delay = d;
|
|
35
|
+
this.observable = this.$searchTerms.pipe(debounceTime(this.delay), distinctUntilChanged());
|
|
36
|
+
if (this.observer) {
|
|
37
|
+
this.observer.unsubscribe();
|
|
38
|
+
}
|
|
39
|
+
this.observer = this.observable.subscribe((/**
|
|
40
|
+
* @param {?} val
|
|
41
|
+
* @return {?}
|
|
42
|
+
*/
|
|
43
|
+
val => {
|
|
44
|
+
this.onChange.emit(val);
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* @return {?}
|
|
49
|
+
*/
|
|
50
|
+
get delay() {
|
|
51
|
+
return this._delay;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* @private
|
|
55
|
+
* @return {?}
|
|
56
|
+
*/
|
|
57
|
+
evalAttributes() {
|
|
58
|
+
/** @type {?} */
|
|
59
|
+
const element = this._elRef.nativeElement;
|
|
60
|
+
if (element && this.searchBox) {
|
|
61
|
+
for (let i = 0; i < element.attributes.length; i++) {
|
|
62
|
+
/** @type {?} */
|
|
63
|
+
const attr = element.attributes[i];
|
|
64
|
+
this._renderer.setAttribute(this.searchBox.nativeElement, attr.name, attr.value);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* @return {?}
|
|
70
|
+
*/
|
|
71
|
+
ngOnInit() {
|
|
72
|
+
super.ngOnInit();
|
|
73
|
+
if (!this.observable) {
|
|
74
|
+
this.observable = this.$searchTerms
|
|
75
|
+
.pipe(debounceTime(this.delay), distinctUntilChanged());
|
|
76
|
+
this.observer = this.observable.subscribe((/**
|
|
77
|
+
* @param {?} val
|
|
78
|
+
* @return {?}
|
|
79
|
+
*/
|
|
80
|
+
val => {
|
|
81
|
+
this.onChange.emit(val);
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
setTimeout((/**
|
|
85
|
+
* @return {?}
|
|
86
|
+
*/
|
|
87
|
+
() => this.evalAttributes()), 20);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* @return {?}
|
|
91
|
+
*/
|
|
92
|
+
ngOnDestroy() {
|
|
93
|
+
super.ngOnDestroy();
|
|
94
|
+
this.observer.unsubscribe();
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* @param {?} str
|
|
98
|
+
* @return {?}
|
|
99
|
+
*/
|
|
100
|
+
search(str) {
|
|
101
|
+
this.$searchTerms.next(str);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* @return {?}
|
|
105
|
+
*/
|
|
106
|
+
handleSubmit() {
|
|
107
|
+
this.searchSubmit();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
SearchInputComponent.decorators = [
|
|
111
|
+
{ type: Component, args: [{
|
|
112
|
+
selector: 'ode-search-input',
|
|
113
|
+
template: "<form\n class=\"search-container\"\n (ngSubmit)=\"searchInput && handleSubmit()\">\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\" [attr.disabled]=\"isSearchButtonDisabled ? true : null\">\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)\"/> -->",
|
|
114
|
+
styles: [":host .search-container{margin:0;display:flex}:host .search-icon{padding-left:0}:host .search-button{margin:0;background:#ff8352;color:#fff}"]
|
|
115
|
+
}] }
|
|
116
|
+
];
|
|
117
|
+
/** @nocollapse */
|
|
118
|
+
SearchInputComponent.ctorParameters = () => [
|
|
119
|
+
{ type: Injector },
|
|
120
|
+
{ type: ElementRef },
|
|
121
|
+
{ type: Renderer2 }
|
|
122
|
+
];
|
|
123
|
+
SearchInputComponent.propDecorators = {
|
|
124
|
+
isSearchActive: [{ type: Input }],
|
|
125
|
+
isSearchButtonDisabled: [{ type: Input }],
|
|
126
|
+
searchInput: [{ type: Input }],
|
|
127
|
+
searchSubmit: [{ type: Input }],
|
|
128
|
+
delay: [{ type: Input }],
|
|
129
|
+
onChange: [{ type: Output }],
|
|
130
|
+
searchBox: [{ type: ViewChild, args: ['searchBox', { static: false },] }]
|
|
131
|
+
};
|
|
132
|
+
if (false) {
|
|
133
|
+
/** @type {?} */
|
|
134
|
+
SearchInputComponent.prototype.isSearchActive;
|
|
135
|
+
/** @type {?} */
|
|
136
|
+
SearchInputComponent.prototype.isSearchButtonDisabled;
|
|
137
|
+
/** @type {?} */
|
|
138
|
+
SearchInputComponent.prototype.searchInput;
|
|
139
|
+
/** @type {?} */
|
|
140
|
+
SearchInputComponent.prototype.searchSubmit;
|
|
141
|
+
/**
|
|
142
|
+
* @type {?}
|
|
143
|
+
* @private
|
|
144
|
+
*/
|
|
145
|
+
SearchInputComponent.prototype._delay;
|
|
146
|
+
/** @type {?} */
|
|
147
|
+
SearchInputComponent.prototype.onChange;
|
|
148
|
+
/** @type {?} */
|
|
149
|
+
SearchInputComponent.prototype.searchBox;
|
|
150
|
+
/**
|
|
151
|
+
* @type {?}
|
|
152
|
+
* @private
|
|
153
|
+
*/
|
|
154
|
+
SearchInputComponent.prototype.$searchTerms;
|
|
155
|
+
/**
|
|
156
|
+
* @type {?}
|
|
157
|
+
* @private
|
|
158
|
+
*/
|
|
159
|
+
SearchInputComponent.prototype.observable;
|
|
160
|
+
/**
|
|
161
|
+
* @type {?}
|
|
162
|
+
* @private
|
|
163
|
+
*/
|
|
164
|
+
SearchInputComponent.prototype.observer;
|
|
165
|
+
/**
|
|
166
|
+
* @type {?}
|
|
167
|
+
* @private
|
|
168
|
+
*/
|
|
169
|
+
SearchInputComponent.prototype._elRef;
|
|
170
|
+
/**
|
|
171
|
+
* @type {?}
|
|
172
|
+
* @private
|
|
173
|
+
*/
|
|
174
|
+
SearchInputComponent.prototype._renderer;
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1vZGUtdWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zZWFyY2gtaW5wdXQvc2VhcmNoLWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBYSxPQUFPLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBUWxFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxZQUFZOzs7Ozs7SUFFbEQsWUFBWSxRQUFrQixFQUNWLE1BQWtCLEVBQ2xCLFNBQW9CO1FBQ3BDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUZBLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbEIsY0FBUyxHQUFULFNBQVMsQ0FBVzs7UUFLL0IsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsMkJBQXNCLEdBQVksS0FBSyxDQUFDO1FBQ3hDLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBZTlCLFdBQU0sR0FBRyxHQUFHLENBQUM7UUFFWCxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7O1FBTTlELGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQTVCN0MsQ0FBQzs7Ozs7SUFPRCxJQUFhLEtBQUssQ0FBQyxDQUFTO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMs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b250ZW50IjpbImltcG9ydCB7IE9kZUNvbXBvbmVudCB9IGZyb20gJ25neC1vZGUtY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFJlbmRlcmVyMiwgVmlld0NoaWxkLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdvZGUtc2VhcmNoLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtaW5wdXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hJbnB1dENvbXBvbmVudCBleHRlbmRzIE9kZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9lbFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICAvKiBJbnB1dHMgLyBPdXRwdXRzIC8gVmlldyAqL1xuICAgIEBJbnB1dCgpIGlzU2VhcmNoQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgaXNTZWFyY2hCdXR0b25EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNlYXJjaElucHV0OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2VhcmNoU3VibWl0OiAoKSA9PiB2b2lkO1xuICAgIEBJbnB1dCgpIHNldCBkZWxheShkOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fZGVsYXkgPSBkO1xuICAgICAgICB0aGlzLm9ic2VydmFibGUgPSB0aGlzLiRzZWFyY2hUZXJtcy5waXBlKGRlYm91bmNlVGltZSh0aGlzLmRlbGF5KSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgICAgIGlmICh0aGlzLm9ic2VydmVyKSB7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vYnNlcnZlciA9IHRoaXMub2JzZXJ2YWJsZS5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh2YWwpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgZ2V0IGRlbGF5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVsYXk7XG4gICAgfVxuICAgIHByaXZhdGUgX2RlbGF5ID0gMjAwO1xuXG4gICAgQE91dHB1dCgpIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQFZpZXdDaGlsZCgnc2VhcmNoQm94JywgeyBzdGF0aWM6IGZhbHNlfSkgc2VhcmNoQm94OiBFbGVtZW50UmVmO1xuXG4gICAgLyogSW50ZXJuYWwgbG9naWMgKi9cblxuICAgIHByaXZhdGUgJHNlYXJjaFRlcm1zID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICAgIHByaXZhdGUgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIHByaXZhdGUgb2JzZXJ2ZXI6IFN1YnNjcmlwdGlvbjtcblxuICAgIHByaXZhdGUgZXZhbEF0dHJpYnV0ZXMoKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9lbFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBpZiAoZWxlbWVudCAmJiB0aGlzLnNlYXJjaEJveCkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50LmF0dHJpYnV0ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdHRyID0gZWxlbWVudC5hdHRyaWJ1dGVzW2ldO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLnNlYXJjaEJveC5uYXRpdmVFbGVtZW50LCBhdHRyLm5hbWUsIGF0dHIudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGlmICghdGhpcy5vYnNlcnZhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmFibGUgPSB0aGlzLiRzZWFyY2hUZXJtc1xuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWxheSksXG4gICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlciA9IHRoaXMub2JzZXJ2YWJsZS5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodmFsKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5ldmFsQXR0cmlidXRlcygpLCAyMCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBzZWFyY2goc3RyOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy4kc2VhcmNoVGVybXMubmV4dChzdHIpO1xuICAgIH1cblxuICAgIGhhbmRsZVN1Ym1pdCgpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hTdWJtaXQoKTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* Generated from: lib/components/search-toolbar/search-toolbar.component.ts
|
|
4
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
+
*/
|
|
6
|
+
import { Component, EventEmitter, Injector, Input, Output } from "@angular/core";
|
|
7
|
+
import { OdeComponent } from "ngx-ode-core";
|
|
8
|
+
/**
|
|
9
|
+
* Search Toolbar component.
|
|
10
|
+
* Used within List component, Search Toolbar will display following information:
|
|
11
|
+
* - Label of the search filter section (example: 'Search by')
|
|
12
|
+
* - List of search type filters (example: 'Name', 'Email' , ...)
|
|
13
|
+
* - Number of items returned by the search
|
|
14
|
+
*
|
|
15
|
+
* ```
|
|
16
|
+
* <ode-search-toolbar
|
|
17
|
+
* [label]="'user.searchType.label'"
|
|
18
|
+
* [searchTypes]="searchTypes"
|
|
19
|
+
* [nbItem]="nbUser || 0"
|
|
20
|
+
* [nbItemLabel]="'list.results.users'"
|
|
21
|
+
* (selectSearchType)="handleSelectSearchType($event)"
|
|
22
|
+
* >
|
|
23
|
+
* </ode-search-toolbar>
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export class SearchToolbarComponent extends OdeComponent {
|
|
27
|
+
/**
|
|
28
|
+
* @param {?} injector
|
|
29
|
+
*/
|
|
30
|
+
constructor(injector) {
|
|
31
|
+
super(injector);
|
|
32
|
+
this.nbItem = 0;
|
|
33
|
+
this.selectSearchType = new EventEmitter();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @return {?}
|
|
37
|
+
*/
|
|
38
|
+
ngOnInit() {
|
|
39
|
+
if (this.searchTypes && this.searchTypes.length > 0) {
|
|
40
|
+
this.selectedSearchTypeValue = this.searchTypes[0].value;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @param {?} searchTypeValue
|
|
45
|
+
* @return {?}
|
|
46
|
+
*/
|
|
47
|
+
handleSearchTypeClick(searchTypeValue) {
|
|
48
|
+
this.selectedSearchTypeValue = searchTypeValue;
|
|
49
|
+
this.selectSearchType.emit(searchTypeValue);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
SearchToolbarComponent.decorators = [
|
|
53
|
+
{ type: Component, args: [{
|
|
54
|
+
selector: 'ode-search-toolbar',
|
|
55
|
+
template: "<div class=\"search-toolbar\">\n <div class=\"search-toolbar-label\">\n <s5l>{{ label }}</s5l>\n <button\n *ngFor=\"let searchType of searchTypes\"\n class=\"button has-left-margin-5\"\n [ngClass]=\"{\n 'is-selected': searchType.value === selectedSearchTypeValue\n }\"\n (click)=\"handleSearchTypeClick(searchType.value)\"\n >\n <s5l>{{ searchType.label }}</s5l>\n </button>\n </div>\n <div>\n <strong class=\"badge\">{{ nbItem }} <s5l>{{ nbItemLabel }}</s5l></strong>\n </div>\n</div>\n",
|
|
56
|
+
styles: [".search-toolbar{display:flex;align-items:center;justify-content:space-between;padding:15px}.search-toolbar .search-toolbar-label{font-size:.85rem}.search-toolbar .search-toolbar-label .button{padding:4px 12px;border-radius:20px;font-size:12px;border-width:2px;border-color:#ff8d2e}"]
|
|
57
|
+
}] }
|
|
58
|
+
];
|
|
59
|
+
/** @nocollapse */
|
|
60
|
+
SearchToolbarComponent.ctorParameters = () => [
|
|
61
|
+
{ type: Injector }
|
|
62
|
+
];
|
|
63
|
+
SearchToolbarComponent.propDecorators = {
|
|
64
|
+
label: [{ type: Input }],
|
|
65
|
+
searchTypes: [{ type: Input }],
|
|
66
|
+
nbItem: [{ type: Input }],
|
|
67
|
+
nbItemLabel: [{ type: Input }],
|
|
68
|
+
selectSearchType: [{ type: Output }]
|
|
69
|
+
};
|
|
70
|
+
if (false) {
|
|
71
|
+
/** @type {?} */
|
|
72
|
+
SearchToolbarComponent.prototype.label;
|
|
73
|
+
/** @type {?} */
|
|
74
|
+
SearchToolbarComponent.prototype.searchTypes;
|
|
75
|
+
/** @type {?} */
|
|
76
|
+
SearchToolbarComponent.prototype.nbItem;
|
|
77
|
+
/** @type {?} */
|
|
78
|
+
SearchToolbarComponent.prototype.nbItemLabel;
|
|
79
|
+
/** @type {?} */
|
|
80
|
+
SearchToolbarComponent.prototype.selectSearchType;
|
|
81
|
+
/** @type {?} */
|
|
82
|
+
SearchToolbarComponent.prototype.selectedSearchTypeValue;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9kZS11aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3NlYXJjaC10b29sYmFyL3NlYXJjaC10b29sYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEwQjVDLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxZQUFZOzs7O0lBVXRELFlBQVksUUFBa0I7UUFDNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBUFQsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUVsQixxQkFBZ0IsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQU10RSxDQUFDOzs7O0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbkQsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1NBQzFEO0lBQ0wsQ0FBQzs7Ozs7SUFFTSxxQkFBcUIsQ0FBQyxlQUF1QjtRQUNsRCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsZUFBZSxDQUFDO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7O1lBNUJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QiwyaUJBQThDOzthQUUvQzs7OztZQTFCaUMsUUFBUTs7O29CQTZCdkMsS0FBSzswQkFDTCxLQUFLO3FCQUNMLEtBQUs7MEJBQ0wsS0FBSzsrQkFDTCxNQUFNOzs7O0lBSlAsdUNBQXVCOztJQUN2Qiw2Q0FBNEQ7O0lBQzVELHdDQUE0Qjs7SUFDNUIsNkNBQTZCOztJQUM3QixrREFBc0U7O0lBRXRFLHlEQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPZGVDb21wb25lbnQgfSBmcm9tIFwibmd4LW9kZS1jb3JlXCI7XG5cbi8qKlxuICogU2VhcmNoIFRvb2xiYXIgY29tcG9uZW50LlxuICogVXNlZCB3aXRoaW4gTGlzdCBjb21wb25lbnQsIFNlYXJjaCBUb29sYmFyIHdpbGwgZGlzcGxheSBmb2xsb3dpbmcgaW5mb3JtYXRpb246XG4gKiAtIExhYmVsIG9mIHRoZSBzZWFyY2ggZmlsdGVyIHNlY3Rpb24gKGV4YW1wbGU6ICdTZWFyY2ggYnknKVxuICogLSBMaXN0IG9mIHNlYXJjaCB0eXBlIGZpbHRlcnMgKGV4YW1wbGU6ICdOYW1lJywgJ0VtYWlsJyAsIC4uLilcbiAqIC0gTnVtYmVyIG9mIGl0ZW1zIHJldHVybmVkIGJ5IHRoZSBzZWFyY2hcbiAqXG5gYGBcbjxvZGUtc2VhcmNoLXRvb2xiYXJcbiAgW2xhYmVsXT1cIid1c2VyLnNlYXJjaFR5cGUubGFiZWwnXCJcbiAgW3NlYXJjaFR5cGVzXT1cInNlYXJjaFR5cGVzXCJcbiAgW25iSXRlbV09XCJuYlVzZXIgfHwgMFwiXG4gIFtuYkl0ZW1MYWJlbF09XCInbGlzdC5yZXN1bHRzLnVzZXJzJ1wiXG4gIChzZWxlY3RTZWFyY2hUeXBlKT1cImhhbmRsZVNlbGVjdFNlYXJjaFR5cGUoJGV2ZW50KVwiXG4+XG48L29kZS1zZWFyY2gtdG9vbGJhcj5cbmBgYFxuICovXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29kZS1zZWFyY2gtdG9vbGJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC10b29sYmFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoVG9vbGJhckNvbXBvbmVudCBleHRlbmRzIE9kZUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgc2VhcmNoVHlwZXM6IEFycmF5PHtsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nfT47XG4gIEBJbnB1dCgpIG5iSXRlbTogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbmJJdGVtTGFiZWw6IHN0cmluZztcbiAgQE91dHB1dCgpIHNlbGVjdFNlYXJjaFR5cGU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHNlbGVjdGVkU2VhcmNoVHlwZVZhbHVlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5zZWFyY2hUeXBlcyAmJiB0aGlzLnNlYXJjaFR5cGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNlYXJjaFR5cGVWYWx1ZSA9IHRoaXMuc2VhcmNoVHlwZXNbMF0udmFsdWU7XG4gICAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlU2VhcmNoVHlwZUNsaWNrKHNlYXJjaFR5cGVWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFNlYXJjaFR5cGVWYWx1ZSA9IHNlYXJjaFR5cGVWYWx1ZTtcbiAgICB0aGlzLnNlbGVjdFNlYXJjaFR5cGUuZW1pdChzZWFyY2hUeXBlVmFsdWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* Generated from: lib/components/side-layout/side-layout.component.ts
|
|
4
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
+
*/
|
|
6
|
+
import { OdeComponent } from 'ngx-ode-core';
|
|
7
|
+
import { Component, EventEmitter, Input, Output, Injector } from '@angular/core';
|
|
8
|
+
export class SideLayoutComponent extends OdeComponent {
|
|
9
|
+
/**
|
|
10
|
+
* @param {?} injector
|
|
11
|
+
*/
|
|
12
|
+
constructor(injector) {
|
|
13
|
+
super(injector);
|
|
14
|
+
this.showCompanion = false;
|
|
15
|
+
this.close = new EventEmitter();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
SideLayoutComponent.decorators = [
|
|
19
|
+
{ type: Component, args: [{
|
|
20
|
+
selector: 'ode-side-layout',
|
|
21
|
+
template: "<div class=\"side-layout\">\n <div class=\"side-card\">\n <ng-content select=\"[side-card]\"></ng-content>\n </div>\n <div class=\"side-companion\" *ngIf=\"showCompanion\">\n <ng-content select=\"[side-companion]\"></ng-content>\n </div>\n</div>\n",
|
|
22
|
+
styles: ["div.side-layout{display:flex;flex-wrap:nowrap;align-items:flex-start}div.side-card{flex:400px 0 0;position:relative}div.side-companion{flex:1;position:relative;margin-left:25px}"]
|
|
23
|
+
}] }
|
|
24
|
+
];
|
|
25
|
+
/** @nocollapse */
|
|
26
|
+
SideLayoutComponent.ctorParameters = () => [
|
|
27
|
+
{ type: Injector }
|
|
28
|
+
];
|
|
29
|
+
SideLayoutComponent.propDecorators = {
|
|
30
|
+
showCompanion: [{ type: Input }],
|
|
31
|
+
close: [{ type: Output, args: ['closeCompanion',] }]
|
|
32
|
+
};
|
|
33
|
+
if (false) {
|
|
34
|
+
/** @type {?} */
|
|
35
|
+
SideLayoutComponent.prototype.showCompanion;
|
|
36
|
+
/** @type {?} */
|
|
37
|
+
SideLayoutComponent.prototype.close;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9kZS11aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3NpZGUtbGF5b3V0L3NpZGUtbGF5b3V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPakYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFlBQVk7Ozs7SUFJakQsWUFBWSxRQUFrQjtRQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKWCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUNMLFVBQUssR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUkvRSxDQUFDOzs7WUFYSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsNlFBQTJDOzthQUU5Qzs7OztZQU5nRCxRQUFROzs7NEJBUXBELEtBQUs7b0JBQ0wsTUFBTSxTQUFDLGdCQUFnQjs7OztJQUR4Qiw0Q0FBK0I7O0lBQy9CLG9DQUErRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9kZUNvbXBvbmVudCB9IGZyb20gJ25neC1vZGUtY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdvZGUtc2lkZS1sYXlvdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaWRlLWxheW91dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2lkZS1sYXlvdXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTaWRlTGF5b3V0Q29tcG9uZW50IGV4dGVuZHMgT2RlQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBzaG93Q29tcGFuaW9uID0gZmFsc2U7XG4gICAgQE91dHB1dCgnY2xvc2VDb21wYW5pb24nKSBjbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* Generated from: lib/components/side-panel/side-panel.component.ts
|
|
4
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
+
*/
|
|
6
|
+
import { OdeComponent } from 'ngx-ode-core';
|
|
7
|
+
import { Component, ElementRef, EventEmitter, Input, Output, Injector } from '@angular/core';
|
|
8
|
+
export class SidePanelComponent extends OdeComponent {
|
|
9
|
+
/**
|
|
10
|
+
* @param {?} injector
|
|
11
|
+
* @param {?} elementRef
|
|
12
|
+
*/
|
|
13
|
+
constructor(injector, elementRef) {
|
|
14
|
+
super(injector);
|
|
15
|
+
this.elementRef = elementRef;
|
|
16
|
+
this.onClose = new EventEmitter();
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @param {?} toggle
|
|
20
|
+
* @return {?}
|
|
21
|
+
*/
|
|
22
|
+
set toggle(toggle) {
|
|
23
|
+
this.opened = toggle;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @param {?} event
|
|
27
|
+
* @return {?}
|
|
28
|
+
*/
|
|
29
|
+
onClick(event) {
|
|
30
|
+
/** @type {?} */
|
|
31
|
+
const checkOpener = this.opener &&
|
|
32
|
+
(this.opener.contains && this.opener.contains(event.target)) ||
|
|
33
|
+
(this.opener.nativeElement && this.opener.nativeElement.contains(event.target));
|
|
34
|
+
if (this.opened &&
|
|
35
|
+
!this.elementRef.nativeElement.contains(event.target) &&
|
|
36
|
+
!checkOpener) {
|
|
37
|
+
this.opened = false;
|
|
38
|
+
this.onClose.emit();
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
SidePanelComponent.decorators = [
|
|
44
|
+
{ type: Component, args: [{
|
|
45
|
+
selector: 'ode-side-panel',
|
|
46
|
+
template: "<div [ngClass]=\"{ opened: opened }\">\n <ng-content></ng-content>\n</div>\n",
|
|
47
|
+
host: {
|
|
48
|
+
'(document:click)': 'onClick($event)',
|
|
49
|
+
},
|
|
50
|
+
styles: ["div{position:fixed;z-index:10;overflow-x:hidden;overflow-y:scroll;top:0;left:-30%;width:30%;transition:transform .25s}div.opened{transform:translateX(100%)}"]
|
|
51
|
+
}] }
|
|
52
|
+
];
|
|
53
|
+
/** @nocollapse */
|
|
54
|
+
SidePanelComponent.ctorParameters = () => [
|
|
55
|
+
{ type: Injector },
|
|
56
|
+
{ type: ElementRef }
|
|
57
|
+
];
|
|
58
|
+
SidePanelComponent.propDecorators = {
|
|
59
|
+
toggle: [{ type: Input }],
|
|
60
|
+
opener: [{ type: Input }],
|
|
61
|
+
onClose: [{ type: Output }]
|
|
62
|
+
};
|
|
63
|
+
if (false) {
|
|
64
|
+
/** @type {?} */
|
|
65
|
+
SidePanelComponent.prototype.opened;
|
|
66
|
+
/** @type {?} */
|
|
67
|
+
SidePanelComponent.prototype.opener;
|
|
68
|
+
/** @type {?} */
|
|
69
|
+
SidePanelComponent.prototype.onClose;
|
|
70
|
+
/**
|
|
71
|
+
* @type {?}
|
|
72
|
+
* @private
|
|
73
|
+
*/
|
|
74
|
+
SidePanelComponent.prototype.elementRef;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb2RlLXVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvc2lkZS1wYW5lbC9zaWRlLXBhbmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVTdGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUFZOzs7OztJQUdoRCxZQUFZLFFBQWtCLEVBQVUsVUFBc0I7UUFDMUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRG9CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFTcEQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFQaEQsQ0FBQzs7Ozs7SUFFRCxJQUFhLE1BQU0sQ0FBQyxNQUFlO1FBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3pCLENBQUM7Ozs7O0lBS0QsT0FBTyxDQUFDLEtBQUs7O2NBQ0gsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNO1lBQzNCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVELENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVuRixJQUFJLElBQUksQ0FBQyxNQUFNO1lBQ1gsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNyRCxDQUFDLFdBQVcsRUFBRTtZQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDdkI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs7WUFsQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLHlGQUEwQztnQkFFMUMsSUFBSSxFQUFFO29CQUNGLGtCQUFrQixFQUFFLGlCQUFpQjtpQkFDeEM7O2FBQ0o7Ozs7WUFUNEQsUUFBUTtZQUFqRCxVQUFVOzs7cUJBaUJ6QixLQUFLO3FCQUlMLEtBQUs7c0JBQ0wsTUFBTTs7OztJQVhQLG9DQUFnQjs7SUFVaEIsb0NBQWdCOztJQUNoQixxQ0FBZ0Q7Ozs7O0lBVGhCLHdDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9kZUNvbXBvbmVudCB9IGZyb20gJ25neC1vZGUtY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdvZGUtc2lkZS1wYW5lbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NpZGUtcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoZG9jdW1lbnQ6Y2xpY2spJzogJ29uQ2xpY2soJGV2ZW50KScsXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBTaWRlUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBPZGVDb21wb25lbnQge1xuICAgIG9wZW5lZDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgdG9nZ2xlKHRvZ2dsZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm9wZW5lZCA9IHRvZ2dsZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBvcGVuZXI7XG4gICAgQE91dHB1dCgpIG9uQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBvbkNsaWNrKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGNoZWNrT3BlbmVyID0gdGhpcy5vcGVuZXIgJiZcbiAgICAgICAgICAgICh0aGlzLm9wZW5lci5jb250YWlucyAmJiB0aGlzLm9wZW5lci5jb250YWlucyhldmVudC50YXJnZXQpKSB8fFxuICAgICAgICAgICAgKHRoaXMub3BlbmVyLm5hdGl2ZUVsZW1lbnQgJiYgdGhpcy5vcGVuZXIubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKTtcblxuICAgICAgICBpZiAodGhpcy5vcGVuZWQgJiZcbiAgICAgICAgICAgICF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmXG4gICAgICAgICAgICAhY2hlY2tPcGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm9uQ2xvc2UuZW1pdCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxufVxuIl19
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* Generated from: lib/components/spinner-cube/spinner-cube.component.ts
|
|
4
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
+
*/
|
|
6
|
+
import { OdeComponent } from 'ngx-ode-core';
|
|
7
|
+
import { ChangeDetectionStrategy, Component, Input, Injector } from '@angular/core';
|
|
8
|
+
import { SpinnerService } from '../../services/spinner.service';
|
|
9
|
+
export class SpinnerCubeComponent extends OdeComponent {
|
|
10
|
+
/**
|
|
11
|
+
* @param {?} injector
|
|
12
|
+
* @param {?} spinner
|
|
13
|
+
*/
|
|
14
|
+
constructor(injector, spinner) {
|
|
15
|
+
super(injector);
|
|
16
|
+
this.spinner = spinner;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @param {?} prop
|
|
20
|
+
* @return {?}
|
|
21
|
+
*/
|
|
22
|
+
set loadingProp(prop) {
|
|
23
|
+
this._loadingProp = prop;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @return {?}
|
|
27
|
+
*/
|
|
28
|
+
get loadingProp() { return this._loadingProp; }
|
|
29
|
+
/**
|
|
30
|
+
* @return {?}
|
|
31
|
+
*/
|
|
32
|
+
ngOnInit() {
|
|
33
|
+
super.ngOnInit();
|
|
34
|
+
this.subscriptions.add(this.spinner.trigger.subscribe((/**
|
|
35
|
+
* @return {?}
|
|
36
|
+
*/
|
|
37
|
+
() => {
|
|
38
|
+
this.changeDetector.markForCheck();
|
|
39
|
+
})));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
SpinnerCubeComponent.decorators = [
|
|
43
|
+
{ type: Component, args: [{
|
|
44
|
+
selector: 'ode-spinner-cube',
|
|
45
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
46
|
+
template: "<div class=\"spinner-wrapper\" *ngIf=\"spinner.isLoading(loadingProp)\">\n <div class=\"spinner-cube\">\n <div class=\"sk-cube sk-cube1\"></div>\n <div class=\"sk-cube sk-cube2\"></div>\n <div class=\"sk-cube sk-cube3\"></div>\n <div class=\"sk-cube sk-cube4\"></div>\n <div class=\"sk-cube sk-cube5\"></div>\n <div class=\"sk-cube sk-cube6\"></div>\n <div class=\"sk-cube sk-cube7\"></div>\n <div class=\"sk-cube sk-cube8\"></div>\n <div class=\"sk-cube sk-cube9\"></div>\n </div>\n</div>\n",
|
|
47
|
+
styles: ["div.spinner-wrapper{position:fixed;width:100%;height:100%;pointer-events:all;display:flex;justify-content:center;align-items:center}div.spinner-cube{width:20vh;height:20vh}div.sk-cube{width:33%;height:33%;float:left;-webkit-animation:1.3s ease-in-out infinite sk-cubeGridScaleDelay;animation:1.3s ease-in-out infinite sk-cubeGridScaleDelay}div.sk-cube1{-webkit-animation-delay:.2s;animation-delay:.2s}div.sk-cube2{-webkit-animation-delay:.3s;animation-delay:.3s}div.sk-cube3{-webkit-animation-delay:.4s;animation-delay:.4s}div.sk-cube4{-webkit-animation-delay:.1s;animation-delay:.1s}div.sk-cube5{-webkit-animation-delay:.2s;animation-delay:.2s}div.sk-cube6{-webkit-animation-delay:.3s;animation-delay:.3s}div.sk-cube7{-webkit-animation-delay:0s;animation-delay:0s}div.sk-cube8{-webkit-animation-delay:.1s;animation-delay:.1s}div.sk-cube9{-webkit-animation-delay:.2s;animation-delay:.2s}@-webkit-keyframes sk-cubeGridScaleDelay{0%,100%,70%{transform:scale3D(1,1,1)}35%{transform:scale3D(0,0,1)}}@keyframes sk-cubeGridScaleDelay{0%,100%,70%{transform:scale3D(1,1,1)}35%{transform:scale3D(0,0,1)}}"]
|
|
48
|
+
}] }
|
|
49
|
+
];
|
|
50
|
+
/** @nocollapse */
|
|
51
|
+
SpinnerCubeComponent.ctorParameters = () => [
|
|
52
|
+
{ type: Injector },
|
|
53
|
+
{ type: SpinnerService }
|
|
54
|
+
];
|
|
55
|
+
SpinnerCubeComponent.propDecorators = {
|
|
56
|
+
loadingProp: [{ type: Input, args: ['waitingFor',] }]
|
|
57
|
+
};
|
|
58
|
+
if (false) {
|
|
59
|
+
/**
|
|
60
|
+
* @type {?}
|
|
61
|
+
* @private
|
|
62
|
+
*/
|
|
63
|
+
SpinnerCubeComponent.prototype._loadingProp;
|
|
64
|
+
/** @type {?} */
|
|
65
|
+
SpinnerCubeComponent.prototype.spinner;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci1jdWJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1vZGUtdWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zcGlubmVyLWN1YmUvc3Bpbm5lci1jdWJlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFRaEUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFlBQVk7Ozs7O0lBVWxELFlBQ0ksUUFBa0IsRUFDWCxPQUF1QjtRQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFEYixZQUFPLEdBQVAsT0FBTyxDQUFnQjtJQUU5QixDQUFDOzs7OztJQVpMLElBQ0ksV0FBVyxDQUFDLElBQVk7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7OztJQUNELElBQUksV0FBVyxLQUFLLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7Ozs7SUFVL0MsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUU7WUFDdkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2QyxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs7O1lBM0JKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0Msb2hCQUE0Qzs7YUFFL0M7Ozs7WUFSc0UsUUFBUTtZQUN0RSxjQUFjOzs7MEJBVWxCLEtBQUssU0FBQyxZQUFZOzs7Ozs7O0lBS25CLDRDQUE2Qjs7SUFLekIsdUNBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2RlQ29tcG9uZW50IH0gZnJvbSAnbmd4LW9kZS1jb3JlJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNwaW5uZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3Bpbm5lci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdvZGUtc3Bpbm5lci1jdWJlJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3Bpbm5lci1jdWJlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zcGlubmVyLWN1YmUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTcGlubmVyQ3ViZUNvbXBvbmVudCBleHRlbmRzIE9kZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBASW5wdXQoJ3dhaXRpbmdGb3InKVxuICAgIHNldCBsb2FkaW5nUHJvcChwcm9wOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fbG9hZGluZ1Byb3AgPSBwcm9wO1xuICAgIH1cbiAgICBnZXQgbG9hZGluZ1Byb3AoKSB7IHJldHVybiB0aGlzLl9sb2FkaW5nUHJvcDsgfVxuICAgIHByaXZhdGUgX2xvYWRpbmdQcm9wOiBzdHJpbmc7XG5cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHB1YmxpYyBzcGlubmVyOiBTcGlubmVyU2VydmljZSkge1xuICAgICAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh0aGlzLnNwaW5uZXIudHJpZ2dlci5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSkpO1xuICAgIH1cblxufVxuIl19
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* Generated from: lib/components/table/pager.component.ts
|
|
4
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
+
*/
|
|
6
|
+
import { OdeComponent } from 'ngx-ode-core';
|
|
7
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, Injector } from '@angular/core';
|
|
8
|
+
import { BundlesService } from 'ngx-ode-sijil';
|
|
9
|
+
export class PagerComponent extends OdeComponent {
|
|
10
|
+
/**
|
|
11
|
+
* @param {?} injector
|
|
12
|
+
* @param {?} bundles
|
|
13
|
+
*/
|
|
14
|
+
constructor(injector, bundles) {
|
|
15
|
+
super(injector);
|
|
16
|
+
this.bundles = bundles;
|
|
17
|
+
this.offsetChange = new EventEmitter();
|
|
18
|
+
this.translate = (/**
|
|
19
|
+
* @param {...?} args
|
|
20
|
+
* @return {?}
|
|
21
|
+
*/
|
|
22
|
+
(...args) => ((/** @type {?} */ (this.bundles.translate)))(...args));
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @return {?}
|
|
26
|
+
*/
|
|
27
|
+
ngOnInit() { }
|
|
28
|
+
/**
|
|
29
|
+
* @return {?}
|
|
30
|
+
*/
|
|
31
|
+
previousPage() {
|
|
32
|
+
if (this.offset - this.limit >= 0) {
|
|
33
|
+
this.offset = this.offset - this.limit;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this.offset = 0;
|
|
37
|
+
}
|
|
38
|
+
this.offsetChange.emit(this.offset);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @return {?}
|
|
42
|
+
*/
|
|
43
|
+
nextPage() {
|
|
44
|
+
if (this.offset + this.limit <= this.total) {
|
|
45
|
+
this.offset = this.offset + this.limit;
|
|
46
|
+
}
|
|
47
|
+
this.offsetChange.emit(this.offset);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @return {?}
|
|
51
|
+
*/
|
|
52
|
+
offsetLimit() {
|
|
53
|
+
return this.offset + this.limit < this.total ?
|
|
54
|
+
this.offset + this.limit : this.total;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
PagerComponent.decorators = [
|
|
58
|
+
{ type: Component, args: [{
|
|
59
|
+
selector: 'ode-pager',
|
|
60
|
+
template: "<strong><s5l>pager.page</s5l></strong>\n<a class=\"button\" [ngClass]=\"{'is-hidden': offset - limit < 0}\" (click)=\"previousPage()\">\n <i class=\"fa fa-chevron-left\"></i> <s5l>pager.page.previous</s5l>\n</a>\n<span>{{\"pager.position\" | translate : {offset : offset+1, offsetLimit:offsetLimit(), total:total} }}</span>\n<a class=\"button\" [ngClass]=\"{'is-hidden': offset + limit > total}\" (click)=\"nextPage()\">\n <s5l>pager.page.next</s5l> <i class=\"fa fa-chevron-right\"></i>\n</a>\n",
|
|
61
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
62
|
+
styles: [`
|
|
63
|
+
i {cursor: pointer; padding: 0 2px;}
|
|
64
|
+
`]
|
|
65
|
+
}] }
|
|
66
|
+
];
|
|
67
|
+
/** @nocollapse */
|
|
68
|
+
PagerComponent.ctorParameters = () => [
|
|
69
|
+
{ type: Injector },
|
|
70
|
+
{ type: BundlesService }
|
|
71
|
+
];
|
|
72
|
+
PagerComponent.propDecorators = {
|
|
73
|
+
limit: [{ type: Input }],
|
|
74
|
+
offset: [{ type: Input }],
|
|
75
|
+
offsetChange: [{ type: Output }],
|
|
76
|
+
total: [{ type: Input }]
|
|
77
|
+
};
|
|
78
|
+
if (false) {
|
|
79
|
+
/** @type {?} */
|
|
80
|
+
PagerComponent.prototype.limit;
|
|
81
|
+
/** @type {?} */
|
|
82
|
+
PagerComponent.prototype.offset;
|
|
83
|
+
/** @type {?} */
|
|
84
|
+
PagerComponent.prototype.offsetChange;
|
|
85
|
+
/** @type {?} */
|
|
86
|
+
PagerComponent.prototype.total;
|
|
87
|
+
/** @type {?} */
|
|
88
|
+
PagerComponent.prototype.translate;
|
|
89
|
+
/**
|
|
90
|
+
* @type {?}
|
|
91
|
+
* @private
|
|
92
|
+
*/
|
|
93
|
+
PagerComponent.prototype.bundles;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9kZS11aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlL3BhZ2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVc3QyxNQUFNLE9BQU8sY0FBZSxTQUFRLFlBQVk7Ozs7O0lBQzVDLFlBQ0ksUUFBa0IsRUFDVixPQUF1QjtRQUUzQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFGWixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQVF6QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFJcEQsY0FBUzs7OztRQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsbUJBQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQU8sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUM7SUFUOUQsQ0FBQzs7OztJQVdMLFFBQVEsS0FBSSxDQUFDOzs7O0lBRWIsWUFBWTtRQUNSLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUMxQzthQUFNO1lBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDbkI7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7OztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQzFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUM5QyxDQUFDOzs7WUE5Q0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxXQUFXO2dCQUNyQiwrZkFBcUM7Z0JBSXJDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO3lCQUh0Qzs7S0FFUjthQUVKOzs7O1lBWGlGLFFBQVE7WUFDbEYsY0FBYzs7O29CQW1CakIsS0FBSztxQkFFTCxLQUFLOzJCQUNMLE1BQU07b0JBRU4sS0FBSzs7OztJQUxOLCtCQUF1Qjs7SUFFdkIsZ0NBQXdCOztJQUN4QixzQ0FBb0Q7O0lBRXBELCtCQUF1Qjs7SUFFdkIsbUNBQWtFOzs7OztJQVo5RCxpQ0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPZGVDb21wb25lbnQgfSBmcm9tICduZ3gtb2RlLWNvcmUnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0J1bmRsZXNTZXJ2aWNlfSBmcm9tICduZ3gtb2RlLXNpamlsJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ29kZS1wYWdlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFtgXG4gICAgICAgIGkge2N1cnNvcjogcG9pbnRlcjsgcGFkZGluZzogMCAycHg7fVxuICAgIGBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VyQ29tcG9uZW50IGV4dGVuZHMgT2RlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGJ1bmRsZXM6IEJ1bmRsZXNTZXJ2aWNlXG4gICAgICAgICkgIHtcbiAgICAgICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICAgICAgfVxuXG4gICAgQElucHV0KCkgbGltaXQ6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIG9mZnNldDogbnVtYmVyO1xuICAgIEBPdXRwdXQoKSBvZmZzZXRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIEBJbnB1dCgpIHRvdGFsOiBudW1iZXI7XG5cbiAgICB0cmFuc2xhdGUgPSAoLi4uYXJncykgPT4gKHRoaXMuYnVuZGxlcy50cmFuc2xhdGUgYXMgYW55KSguLi5hcmdzKTtcblxuICAgIG5nT25Jbml0KCkge31cblxuICAgIHByZXZpb3VzUGFnZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub2Zmc2V0IC0gdGhpcy5saW1pdCA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLm9mZnNldCA9IHRoaXMub2Zmc2V0IC0gdGhpcy5saW1pdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub2Zmc2V0ID0gMDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9mZnNldENoYW5nZS5lbWl0KHRoaXMub2Zmc2V0KTtcbiAgICB9XG5cbiAgICBuZXh0UGFnZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub2Zmc2V0ICsgdGhpcy5saW1pdCA8PSB0aGlzLnRvdGFsKSB7XG4gICAgICAgICAgICB0aGlzLm9mZnNldCA9IHRoaXMub2Zmc2V0ICsgdGhpcy5saW1pdDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9mZnNldENoYW5nZS5lbWl0KHRoaXMub2Zmc2V0KTtcbiAgICB9XG5cbiAgICBvZmZzZXRMaW1pdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5vZmZzZXQgKyB0aGlzLmxpbWl0IDwgdGhpcy50b3RhbCA/XG4gICAgICAgICAgICB0aGlzLm9mZnNldCArIHRoaXMubGltaXQgOiB0aGlzLnRvdGFsO1xuICAgIH1cbn1cbiJdfQ==
|