ngx-techlify-core 11.3.0-beta.1 → 11.3.3
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/bundles/ngx-techlify-core.umd.js +587 -131
- package/bundles/ngx-techlify-core.umd.js.map +1 -1
- package/bundles/ngx-techlify-core.umd.min.js +2 -2
- package/bundles/ngx-techlify-core.umd.min.js.map +1 -1
- package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.js +7 -1
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.js +9 -1
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.js +10 -2
- package/esm2015/lib/material.module.js +24 -56
- package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.js +15 -0
- package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.js +269 -0
- package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.js +25 -0
- package/esm2015/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.js +168 -0
- package/esm2015/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.js +29 -0
- package/esm2015/lib/timeline-filter/timeline-filter.component.js +21 -5
- package/esm2015/public-api.js +6 -4
- package/fesm2015/ngx-techlify-core.js +486 -135
- package/fesm2015/ngx-techlify-core.js.map +1 -1
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts +5 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts +7 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts +7 -0
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts +12 -0
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +76 -0
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts +2 -0
- package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +58 -0
- package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts +2 -0
- package/lib/timeline-filter/timeline-filter.component.d.ts +4 -2
- package/ngx-techlify-core.metadata.json +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +5 -3
- package/esm2015/lib/image-for-model/image-for-model-routing.module.js +0 -12
- package/esm2015/lib/image-for-model/image-for-model.component.js +0 -94
- package/esm2015/lib/image-for-model/image-for-model.module.js +0 -23
- package/lib/image-for-model/image-for-model-routing.module.d.ts +0 -2
- package/lib/image-for-model/image-for-model.component.d.ts +0 -26
- package/lib/image-for-model/image-for-model.module.d.ts +0 -2
|
@@ -12,37 +12,22 @@ import { catchError, debounceTime, distinctUntilChanged, startWith, switchMap, f
|
|
|
12
12
|
import { MAT_SNACK_BAR_DATA, MatSnackBar, MatSnackBarModule, MatSnackBarRef } from '@angular/material/snack-bar';
|
|
13
13
|
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
14
14
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
15
|
-
import { MatFormFieldControl, MatFormFieldModule } from '@angular/material/form-field';
|
|
15
|
+
import { MatFormFieldControl, MatFormFieldModule, MatFormField, MAT_FORM_FIELD } from '@angular/material/form-field';
|
|
16
16
|
import { SELECT_ITEM_HEIGHT_EM, MatSelect, MatSelectModule } from '@angular/material/select';
|
|
17
17
|
import { MatIconModule } from '@angular/material/icon';
|
|
18
18
|
import { Router, RouteReuseStrategy, RouterModule, NavigationEnd, ActivatedRoute } from '@angular/router';
|
|
19
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
19
20
|
import { MatCommonModule, MatLineModule, MatNativeDateModule, MatOptionModule, MatPseudoCheckboxModule, MatRippleModule } from '@angular/material/core';
|
|
20
|
-
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
21
|
-
import { MatBadgeModule } from '@angular/material/badge';
|
|
22
21
|
import { MatButtonModule } from '@angular/material/button';
|
|
23
|
-
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
24
|
-
import { MatCardModule } from '@angular/material/card';
|
|
25
22
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
26
|
-
import { MatChipsModule } from '@angular/material/chips';
|
|
27
|
-
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
28
|
-
import { MatDividerModule } from '@angular/material/divider';
|
|
29
|
-
import { MatExpansionModule } from '@angular/material/expansion';
|
|
30
|
-
import { MatGridListModule } from '@angular/material/grid-list';
|
|
31
23
|
import { MatInputModule } from '@angular/material/input';
|
|
32
|
-
import { MatListModule } from '@angular/material/list';
|
|
33
24
|
import { MatMenuModule } from '@angular/material/menu';
|
|
34
|
-
import { MatPaginatorModule } from '@angular/material/paginator';
|
|
35
|
-
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
36
25
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
37
|
-
import {
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
42
|
-
import { MatTabsModule } from '@angular/material/tabs';
|
|
43
|
-
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
44
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
45
|
-
import { MatTreeModule } from '@angular/material/tree';
|
|
26
|
+
import { MatCardModule } from '@angular/material/card';
|
|
27
|
+
import { MatDividerModule } from '@angular/material/divider';
|
|
28
|
+
import { MatChipsModule } from '@angular/material/chips';
|
|
29
|
+
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
30
|
+
import { MatListModule } from '@angular/material/list';
|
|
46
31
|
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
47
32
|
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
|
|
48
33
|
import { NgxDocViewerModule } from 'ngx-doc-viewer';
|
|
@@ -50,6 +35,9 @@ import { Editor, NgxEditorModule } from 'ngx-editor';
|
|
|
50
35
|
import { utils, writeFile, read } from 'xlsx';
|
|
51
36
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
52
37
|
import { diff, formatters } from 'jsondiffpatch';
|
|
38
|
+
import { ENTER, COMMA } from '@angular/cdk/keycodes';
|
|
39
|
+
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
40
|
+
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
53
41
|
|
|
54
42
|
class ActionPopup {
|
|
55
43
|
}
|
|
@@ -2280,8 +2268,9 @@ Timeline.THIS_YEAR = 10;
|
|
|
2280
2268
|
Timeline.LAST_YEAR = 11;
|
|
2281
2269
|
Timeline.ALL = 12;
|
|
2282
2270
|
|
|
2283
|
-
class TimelineFilterComponent {
|
|
2271
|
+
let TimelineFilterComponent = class TimelineFilterComponent {
|
|
2284
2272
|
constructor() {
|
|
2273
|
+
this.timelineValue = new FormControl('');
|
|
2285
2274
|
this.timelines = [
|
|
2286
2275
|
{ value: 1, viewValue: 'Custom' },
|
|
2287
2276
|
{ value: 2, viewValue: 'Today' },
|
|
@@ -2299,13 +2288,17 @@ class TimelineFilterComponent {
|
|
|
2299
2288
|
this.labelText = 'Select Timeline';
|
|
2300
2289
|
this.dateFrom = 'date_from';
|
|
2301
2290
|
this.dateTo = 'date_to';
|
|
2291
|
+
this.appearance = "legacy";
|
|
2292
|
+
this.showClearbutton = false;
|
|
2302
2293
|
this.showCustomDateFields = false;
|
|
2303
2294
|
}
|
|
2304
2295
|
set defaultValue(value) {
|
|
2305
|
-
this.timelineValue
|
|
2296
|
+
this.timelineValue.setValue(value);
|
|
2306
2297
|
this.changeTimeline(value);
|
|
2307
2298
|
}
|
|
2308
2299
|
ngOnInit() {
|
|
2300
|
+
this.timelineValue.valueChanges.
|
|
2301
|
+
pipe(debounceTime(100), distinctUntilChanged(), untilDestroyed(this)).subscribe(value => this.changeTimeline(value));
|
|
2309
2302
|
}
|
|
2310
2303
|
resetFieldValue(field) {
|
|
2311
2304
|
this.form.get(field).setValue('');
|
|
@@ -2324,23 +2317,29 @@ class TimelineFilterComponent {
|
|
|
2324
2317
|
this.showCustomDateFields = timeline.show_custom_field;
|
|
2325
2318
|
}
|
|
2326
2319
|
}
|
|
2327
|
-
}
|
|
2320
|
+
};
|
|
2328
2321
|
TimelineFilterComponent.decorators = [
|
|
2329
2322
|
{ type: Component, args: [{
|
|
2330
2323
|
selector: 'app-timeline-filter',
|
|
2331
|
-
template: "<ng-container [formGroup]=\"form\">\n <mat-form-field>\n <mat-label>{{labelText}}</mat-label>\n <mat-select
|
|
2324
|
+
template: "<ng-container [formGroup]=\"form\">\n <mat-form-field [appearance]=\"appearance\">\n <mat-label>{{labelText}}</mat-label>\n <mat-select [formControl]=\"timelineValue\">\n <mat-option *ngFor=\"let timeline of timelines\" [value]=\"timeline.value\">\n {{timeline.viewValue}}\n </mat-option>\n </mat-select>\n <button mat-button *ngIf=\"showClearbutton && timelineValue.value\" matSuffix mat-icon-button\n (click)=\"timelineValue.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <ng-container *ngIf=\"showCustomDateFields\">\n <mat-form-field [appearance]=\"appearance\">\n <mat-label>From Date</mat-label>\n <input matInput formControlName=\"{{dateFrom}}\" [matDatepicker]=\"fromPicker\" (click)=\"fromPicker.open()\"\n placeholder=\"From Date\" readonly />\n <mat-datepicker-toggle matSuffix [for]=\"fromPicker\"></mat-datepicker-toggle>\n <mat-datepicker #fromPicker></mat-datepicker>\n <button mat-button *ngIf=\"getFieldValue(dateFrom)\" matSuffix mat-icon-button\n (click)=\"resetFieldValue(dateFrom)\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field [appearance]=\"appearance\">\n <mat-label>To Date</mat-label>\n <input matInput formControlName=\"{{dateTo}}\" [matDatepicker]=\"toPicker\" (click)=\"toPicker.open()\"\n placeholder=\"To Date\" readonly />\n <mat-datepicker-toggle matSuffix [for]=\"\"></mat-datepicker-toggle>\n <mat-datepicker #toPicker></mat-datepicker>\n <button mat-button *ngIf=\"getFieldValue(dateTo)\" matSuffix mat-icon-button\n (click)=\"resetFieldValue(dateTo)\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n </ng-container>\n</ng-container>",
|
|
2332
2325
|
styles: [""]
|
|
2333
2326
|
},] }
|
|
2334
2327
|
];
|
|
2335
2328
|
TimelineFilterComponent.ctorParameters = () => [];
|
|
2336
2329
|
TimelineFilterComponent.propDecorators = {
|
|
2330
|
+
timelineValue: [{ type: Input }],
|
|
2337
2331
|
timelines: [{ type: Input }],
|
|
2338
2332
|
labelText: [{ type: Input }],
|
|
2339
2333
|
dateFrom: [{ type: Input }],
|
|
2340
2334
|
dateTo: [{ type: Input }],
|
|
2335
|
+
appearance: [{ type: Input }],
|
|
2336
|
+
showClearbutton: [{ type: Input }],
|
|
2341
2337
|
form: [{ type: Input }],
|
|
2342
2338
|
defaultValue: [{ type: Input }]
|
|
2343
2339
|
};
|
|
2340
|
+
TimelineFilterComponent = __decorate([
|
|
2341
|
+
UntilDestroy()
|
|
2342
|
+
], TimelineFilterComponent);
|
|
2344
2343
|
|
|
2345
2344
|
class LoaderComponent {
|
|
2346
2345
|
constructor() {
|
|
@@ -2648,57 +2647,34 @@ DataManager.ctorParameters = () => [
|
|
|
2648
2647
|
{ type: HttpService }
|
|
2649
2648
|
];
|
|
2650
2649
|
|
|
2651
|
-
/*
|
|
2652
|
-
* This module imports and re-exports all Angular Material modules for convenience,
|
|
2653
|
-
* so only 1 module import is needed in your feature modules.
|
|
2654
|
-
* See https://material.angular.io/guide/getting-started#step-3-import-the-component-modules.
|
|
2655
|
-
*
|
|
2656
|
-
* To optimize your production builds, you should only import the components used in your app.
|
|
2657
|
-
*/
|
|
2658
2650
|
class MaterialModule {
|
|
2659
2651
|
}
|
|
2660
2652
|
MaterialModule.decorators = [
|
|
2661
2653
|
{ type: NgModule, args: [{
|
|
2662
2654
|
exports: [
|
|
2663
|
-
MatAutocompleteModule,
|
|
2664
|
-
MatBadgeModule,
|
|
2665
2655
|
MatButtonModule,
|
|
2666
|
-
MatButtonToggleModule,
|
|
2667
|
-
MatCardModule,
|
|
2668
2656
|
MatCheckboxModule,
|
|
2669
|
-
MatChipsModule,
|
|
2670
2657
|
MatCommonModule,
|
|
2671
|
-
MatDatepickerModule,
|
|
2672
2658
|
MatDialogModule,
|
|
2673
|
-
MatDividerModule,
|
|
2674
|
-
MatExpansionModule,
|
|
2675
2659
|
MatFormFieldModule,
|
|
2676
|
-
MatGridListModule,
|
|
2677
2660
|
MatIconModule,
|
|
2678
2661
|
MatInputModule,
|
|
2679
2662
|
MatLineModule,
|
|
2680
|
-
MatListModule,
|
|
2681
2663
|
MatMenuModule,
|
|
2682
2664
|
MatNativeDateModule,
|
|
2683
2665
|
MatOptionModule,
|
|
2684
|
-
MatPaginatorModule,
|
|
2685
|
-
MatProgressBarModule,
|
|
2686
2666
|
MatProgressSpinnerModule,
|
|
2687
2667
|
MatPseudoCheckboxModule,
|
|
2688
|
-
MatRadioModule,
|
|
2689
2668
|
MatRippleModule,
|
|
2690
2669
|
MatSelectModule,
|
|
2691
|
-
MatSidenavModule,
|
|
2692
|
-
MatSlideToggleModule,
|
|
2693
|
-
MatSliderModule,
|
|
2694
|
-
MatSnackBarModule,
|
|
2695
2670
|
MatSortModule,
|
|
2696
|
-
MatStepperModule,
|
|
2697
2671
|
MatTableModule,
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2672
|
+
MatCardModule,
|
|
2673
|
+
MatDividerModule,
|
|
2674
|
+
MatChipsModule,
|
|
2675
|
+
MatDatepickerModule,
|
|
2676
|
+
MatListModule,
|
|
2677
|
+
MatTooltipModule
|
|
2702
2678
|
]
|
|
2703
2679
|
},] }
|
|
2704
2680
|
];
|
|
@@ -3241,11 +3217,19 @@ EmailSubscriptionUserListComponent = __decorate([
|
|
|
3241
3217
|
UntilDestroy()
|
|
3242
3218
|
], EmailSubscriptionUserListComponent);
|
|
3243
3219
|
|
|
3220
|
+
const esulr = {
|
|
3221
|
+
title: 'Email Subscription Users',
|
|
3222
|
+
permissions: {
|
|
3223
|
+
only: ['app_admin'],
|
|
3224
|
+
redirectTo: '/'
|
|
3225
|
+
}
|
|
3226
|
+
};
|
|
3244
3227
|
const routes$4 = [
|
|
3245
3228
|
{
|
|
3246
3229
|
path: '',
|
|
3247
3230
|
component: EmailSubscriptionUserListComponent,
|
|
3248
|
-
canActivate: [AuthenticationGuard]
|
|
3231
|
+
canActivate: [AuthenticationGuard],
|
|
3232
|
+
data: esulr
|
|
3249
3233
|
},
|
|
3250
3234
|
];
|
|
3251
3235
|
class EmailSubscriptionUserListRoutingModule {
|
|
@@ -3632,11 +3616,19 @@ EmailSubscriptionTypeListComponent = __decorate([
|
|
|
3632
3616
|
UntilDestroy()
|
|
3633
3617
|
], EmailSubscriptionTypeListComponent);
|
|
3634
3618
|
|
|
3619
|
+
const estlr = {
|
|
3620
|
+
title: 'Email Subscription Type',
|
|
3621
|
+
permissions: {
|
|
3622
|
+
only: ['client_admin'],
|
|
3623
|
+
redirectTo: '/'
|
|
3624
|
+
}
|
|
3625
|
+
};
|
|
3635
3626
|
const routes$8 = [
|
|
3636
3627
|
{
|
|
3637
3628
|
path: '',
|
|
3638
3629
|
component: EmailSubscriptionTypeListComponent,
|
|
3639
3630
|
canActivate: [AuthenticationGuard],
|
|
3631
|
+
data: estlr
|
|
3640
3632
|
},
|
|
3641
3633
|
];
|
|
3642
3634
|
class EmailSubscriptionTypeListRoutingModule {
|
|
@@ -3733,11 +3725,17 @@ EmailSubscriptionForUserComponent = __decorate([
|
|
|
3733
3725
|
UntilDestroy()
|
|
3734
3726
|
], EmailSubscriptionForUserComponent);
|
|
3735
3727
|
|
|
3728
|
+
const esfur = {
|
|
3729
|
+
permissions: {
|
|
3730
|
+
only: ['client_admin']
|
|
3731
|
+
}
|
|
3732
|
+
};
|
|
3736
3733
|
const routes$9 = [
|
|
3737
3734
|
{
|
|
3738
3735
|
path: '',
|
|
3739
3736
|
component: EmailSubscriptionForUserComponent,
|
|
3740
3737
|
canActivate: [AuthenticationGuard],
|
|
3738
|
+
data: esfur
|
|
3741
3739
|
},
|
|
3742
3740
|
];
|
|
3743
3741
|
class EmailSubscriptionForUserRoutingModule {
|
|
@@ -5599,117 +5597,470 @@ LoginHistoryForUserModule.decorators = [
|
|
|
5599
5597
|
},] }
|
|
5600
5598
|
];
|
|
5601
5599
|
|
|
5602
|
-
|
|
5603
|
-
|
|
5600
|
+
class TechlifyTaggerTagFormConfigModel {
|
|
5601
|
+
constructor() {
|
|
5602
|
+
this.selectable = true;
|
|
5603
|
+
this.removable = true;
|
|
5604
|
+
this.separatorKeysCodes = [ENTER, COMMA];
|
|
5605
|
+
this.placeholder = 'New Tag..';
|
|
5606
|
+
this.apiUrl = 'api/techlify-tagger-tags';
|
|
5607
|
+
this.createApiUrl = 'api/techlify-tagger-tags';
|
|
5608
|
+
this.isCreateable = true;
|
|
5609
|
+
this.isCacheTags = false;
|
|
5610
|
+
this.isSingle = false;
|
|
5611
|
+
}
|
|
5612
|
+
}
|
|
5613
|
+
|
|
5614
|
+
var TechlifyTaggerTagFormFieldComponent_1;
|
|
5615
|
+
let TechlifyTaggerTagFormFieldComponent = TechlifyTaggerTagFormFieldComponent_1 = class TechlifyTaggerTagFormFieldComponent {
|
|
5616
|
+
constructor(_focusMonitor, _elementRef, httpService, _formField, ngControl) {
|
|
5617
|
+
this._focusMonitor = _focusMonitor;
|
|
5618
|
+
this._elementRef = _elementRef;
|
|
5619
|
+
this.httpService = httpService;
|
|
5620
|
+
this._formField = _formField;
|
|
5621
|
+
this.ngControl = ngControl;
|
|
5622
|
+
this.stateChanges = new Subject();
|
|
5623
|
+
this.focused = false;
|
|
5624
|
+
this.controlType = 'techlify-tagger-form-field';
|
|
5625
|
+
this.id = `techlify-tagger-form-field-${TechlifyTaggerTagFormFieldComponent_1.nextId++}`;
|
|
5626
|
+
this.onChange = (_) => { };
|
|
5627
|
+
this.onTouched = () => { };
|
|
5628
|
+
this.tagInputCtrl = new FormControl();
|
|
5629
|
+
/**Pass the configuration for Techlify Tagger */
|
|
5630
|
+
this.config = new TechlifyTaggerTagFormConfigModel();
|
|
5631
|
+
/**Pass the default list of tags */
|
|
5632
|
+
this._allTags = [];
|
|
5633
|
+
/**Pass the Categories to filter for a model */
|
|
5634
|
+
this.categories = [];
|
|
5635
|
+
this._required = false;
|
|
5636
|
+
this._disabled = false;
|
|
5637
|
+
this._value = [];
|
|
5638
|
+
this.tagInputCtrl.valueChanges
|
|
5639
|
+
.subscribe(filterValue => {
|
|
5640
|
+
this.filterString = filterValue;
|
|
5641
|
+
});
|
|
5642
|
+
//Set Focus Monitor
|
|
5643
|
+
_focusMonitor.monitor(_elementRef, true).subscribe(origin => {
|
|
5644
|
+
if (this.focused && !origin) {
|
|
5645
|
+
this.onTouched();
|
|
5646
|
+
}
|
|
5647
|
+
this.focused = !!origin;
|
|
5648
|
+
this.stateChanges.next();
|
|
5649
|
+
});
|
|
5650
|
+
if (this.ngControl != null) {
|
|
5651
|
+
this.ngControl.valueAccessor = this;
|
|
5652
|
+
}
|
|
5653
|
+
}
|
|
5654
|
+
get allTags() {
|
|
5655
|
+
return this._allTags;
|
|
5656
|
+
}
|
|
5657
|
+
set allTags(value) {
|
|
5658
|
+
this._allTags = value;
|
|
5659
|
+
}
|
|
5660
|
+
get tags() {
|
|
5661
|
+
return this.allTags.filter(x => this.value.some(y => y == x.id));
|
|
5662
|
+
}
|
|
5663
|
+
//Default Getter and Setters for a Form Field Implementation
|
|
5664
|
+
get empty() {
|
|
5665
|
+
return this.value.length == 0;
|
|
5666
|
+
}
|
|
5667
|
+
get shouldLabelFloat() {
|
|
5668
|
+
return this.focused || !this.empty || this.tagInputCtrl.value;
|
|
5669
|
+
}
|
|
5670
|
+
get required() {
|
|
5671
|
+
return this._required;
|
|
5672
|
+
}
|
|
5673
|
+
set required(value) {
|
|
5674
|
+
this._required = coerceBooleanProperty(value);
|
|
5675
|
+
this.stateChanges.next();
|
|
5676
|
+
}
|
|
5677
|
+
get disabled() {
|
|
5678
|
+
return this._disabled;
|
|
5679
|
+
}
|
|
5680
|
+
set disabled(value) {
|
|
5681
|
+
this._disabled = coerceBooleanProperty(value);
|
|
5682
|
+
this._disabled ? this.tagInputCtrl.disable() : this.tagInputCtrl.enable();
|
|
5683
|
+
this.stateChanges.next();
|
|
5684
|
+
}
|
|
5685
|
+
get value() {
|
|
5686
|
+
return this._value;
|
|
5687
|
+
}
|
|
5688
|
+
set value(tagIds) {
|
|
5689
|
+
this._value = tagIds || [];
|
|
5690
|
+
this.stateChanges.next();
|
|
5691
|
+
}
|
|
5692
|
+
get errorState() {
|
|
5693
|
+
return this.tagInputCtrl.dirty && this.required && (this.value.length == 0);
|
|
5694
|
+
}
|
|
5695
|
+
get placeholder() {
|
|
5696
|
+
return this._placeholder;
|
|
5697
|
+
}
|
|
5698
|
+
set placeholder(value) {
|
|
5699
|
+
this._placeholder = value;
|
|
5700
|
+
this.stateChanges.next();
|
|
5701
|
+
}
|
|
5702
|
+
ngOnInit() {
|
|
5703
|
+
}
|
|
5704
|
+
ngOnChanges(changes) {
|
|
5705
|
+
//API to load all tags for the model type
|
|
5706
|
+
if (this.allTags.length == 0) {
|
|
5707
|
+
this.httpService
|
|
5708
|
+
.cache(!this.config.isCacheTags)
|
|
5709
|
+
.get(this.config.apiUrl, {
|
|
5710
|
+
params: {
|
|
5711
|
+
categories: this.categories.join(','),
|
|
5712
|
+
perPage: '1000'
|
|
5713
|
+
}
|
|
5714
|
+
}).pipe(debounceTime(500), untilDestroyed(this)).subscribe((result) => {
|
|
5715
|
+
this.allTags = result.data;
|
|
5716
|
+
});
|
|
5717
|
+
}
|
|
5718
|
+
//API to load only the selected tags for the model
|
|
5719
|
+
if (this.modelId && this.value.length == 0) {
|
|
5720
|
+
//Model Id is passed and no tags are present, so we query db for the avilable tags for the model ID.
|
|
5721
|
+
this.httpService
|
|
5722
|
+
.cache(!this.config.isCacheTags)
|
|
5723
|
+
.get(this.config.apiUrl, {
|
|
5724
|
+
params: {
|
|
5725
|
+
categories: this.categories.join(','),
|
|
5726
|
+
model_type: this.modelType,
|
|
5727
|
+
model_id: this.modelId,
|
|
5728
|
+
perPage: '1000'
|
|
5729
|
+
}
|
|
5730
|
+
}).pipe(debounceTime(500), untilDestroyed(this)).subscribe((result) => {
|
|
5731
|
+
this.value = ((result === null || result === void 0 ? void 0 : result.data) || []).map((x) => x.id);
|
|
5732
|
+
this._handleInput();
|
|
5733
|
+
});
|
|
5734
|
+
}
|
|
5735
|
+
}
|
|
5736
|
+
init() {
|
|
5737
|
+
if (this.modelId && this.allTags.length == 0) {
|
|
5738
|
+
//Model Id is passed and no tags are passed, so we query db for the avilable tags for the model ID.
|
|
5739
|
+
this.httpService
|
|
5740
|
+
.cache(!this.config.isCacheTags)
|
|
5741
|
+
.get(this.config.apiUrl, {
|
|
5742
|
+
params: {
|
|
5743
|
+
categories: this.categories.join(','),
|
|
5744
|
+
model_type: this.modelType,
|
|
5745
|
+
model_id: this.modelId
|
|
5746
|
+
}
|
|
5747
|
+
}).pipe(untilDestroyed(this)).subscribe((result) => {
|
|
5748
|
+
this.allTags = result.data;
|
|
5749
|
+
});
|
|
5750
|
+
}
|
|
5751
|
+
}
|
|
5752
|
+
get filteredTags() {
|
|
5753
|
+
return this._filter();
|
|
5754
|
+
}
|
|
5755
|
+
setDescribedByIds(ids) {
|
|
5756
|
+
// Just a empty implementation for Mat Form Field Interface
|
|
5757
|
+
}
|
|
5758
|
+
onContainerClick() {
|
|
5759
|
+
// Just a empty implementation for Mat Form Field Interface
|
|
5760
|
+
}
|
|
5761
|
+
add(event) {
|
|
5762
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
5763
|
+
const value = (event.value || '').trim();
|
|
5764
|
+
// Add our tag
|
|
5765
|
+
// Validate for single mode
|
|
5766
|
+
if (!this.config.isSingle || (this.value.length === 0)) {
|
|
5767
|
+
if (value && this.config.isCreateable) {
|
|
5768
|
+
const tags = this.allTags;
|
|
5769
|
+
let tag = tags.find((item) => item.title.toLowerCase() == value.toLowerCase());
|
|
5770
|
+
if (!tag) {
|
|
5771
|
+
//No tag present in the list
|
|
5772
|
+
try {
|
|
5773
|
+
const result = yield this.httpService.post(this.config.createApiUrl, {
|
|
5774
|
+
title: value,
|
|
5775
|
+
description: value,
|
|
5776
|
+
category_title: (this.categories.length > 0) ? (this.defaultCreateCategory ? this.defaultCreateCategory : this.categories[0]) : ''
|
|
5777
|
+
}).toPromise();
|
|
5778
|
+
tag = result.item;
|
|
5779
|
+
}
|
|
5780
|
+
catch (error) {
|
|
5781
|
+
return;
|
|
5782
|
+
}
|
|
5783
|
+
this.allTags.push(tag);
|
|
5784
|
+
}
|
|
5785
|
+
else {
|
|
5786
|
+
//Optionally clean the existing value, to avoid duplicate
|
|
5787
|
+
this.remove(tag);
|
|
5788
|
+
}
|
|
5789
|
+
this.value.push(tag.id);
|
|
5790
|
+
this._handleInput();
|
|
5791
|
+
}
|
|
5792
|
+
}
|
|
5793
|
+
// Clear the input value
|
|
5794
|
+
event.input.value = '';
|
|
5795
|
+
this.tagInputCtrl.setValue(null);
|
|
5796
|
+
});
|
|
5797
|
+
}
|
|
5798
|
+
remove(tag) {
|
|
5799
|
+
this.value = this.value.filter(x => x !== tag.id);
|
|
5800
|
+
this._handleInput();
|
|
5801
|
+
}
|
|
5802
|
+
selected(event) {
|
|
5803
|
+
// Validate for single mode
|
|
5804
|
+
if (!this.config.isSingle || (this.value.length === 0)) {
|
|
5805
|
+
//Clean the existing value, to avoid duplicate
|
|
5806
|
+
this.remove({ id: event.option.value });
|
|
5807
|
+
this.value.push(event.option.value);
|
|
5808
|
+
this._handleInput();
|
|
5809
|
+
}
|
|
5810
|
+
this.tagInput.nativeElement.value = '';
|
|
5811
|
+
this.tagInputCtrl.setValue(null);
|
|
5812
|
+
}
|
|
5813
|
+
_filter() {
|
|
5814
|
+
const filterValue = this.filterString ? this.filterString.toString().toLowerCase() : null;
|
|
5815
|
+
const availableTags = this.allTags.filter((tag) => !this.value.some((item) => item == tag.id));
|
|
5816
|
+
return filterValue ? availableTags.filter((tag) => tag.title.toLowerCase().includes(filterValue)) : availableTags;
|
|
5817
|
+
}
|
|
5818
|
+
writeValue(tagIds) {
|
|
5819
|
+
this.value = tagIds || [];
|
|
5820
|
+
}
|
|
5821
|
+
registerOnChange(fn) {
|
|
5822
|
+
this.onChange = fn;
|
|
5823
|
+
}
|
|
5824
|
+
registerOnTouched(fn) {
|
|
5825
|
+
this.onTouched = fn;
|
|
5826
|
+
}
|
|
5827
|
+
setDisabledState(isDisabled) {
|
|
5828
|
+
this.disabled = isDisabled;
|
|
5829
|
+
}
|
|
5830
|
+
_handleInput() {
|
|
5831
|
+
this.onChange(this.value);
|
|
5832
|
+
}
|
|
5833
|
+
ngOnDestroy() {
|
|
5834
|
+
this.stateChanges.complete();
|
|
5835
|
+
this._focusMonitor.stopMonitoring(this._elementRef);
|
|
5836
|
+
}
|
|
5837
|
+
};
|
|
5838
|
+
TechlifyTaggerTagFormFieldComponent.nextId = 0;
|
|
5839
|
+
TechlifyTaggerTagFormFieldComponent.decorators = [
|
|
5840
|
+
{ type: Component, args: [{
|
|
5841
|
+
selector: 'app-techlify-tagger-tag-form-field',
|
|
5842
|
+
template: "<mat-chip-list #chipList aria-label=\"Tag Selection\">\n <mat-chip *ngFor=\"let tag of tags\" [selectable]=\"config.selectable\" [removable]=\"config.removable\"\n (removed)=\"remove(tag)\">\n {{tag.title}}\n <button matChipRemove *ngIf=\"config.removable\" class=\"border-0\">\n <mat-icon class=\"mat-relative-icon\">cancel</mat-icon>\n </button>\n </mat-chip>\n <input placeholder=\"{{config.isCreateable? config.placeholder:''}}\" #tagInput [formControl]=\"tagInputCtrl\"\n [matAutocomplete]=\"auto\" [matChipInputFor]=\"chipList\"\n [matChipInputSeparatorKeyCodes]=\"config.separatorKeysCodes\" (matChipInputTokenEnd)=\"add($event)\"\n #trigger=\"matAutocompleteTrigger\" (click)=\"trigger.openPanel()\">\n</mat-chip-list>\n<mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let tag of filteredTags\" [value]=\"tag.id\">\n {{tag.title}}\n </mat-option>\n</mat-autocomplete>",
|
|
5843
|
+
providers: [{ provide: MatFormFieldControl, useExisting: TechlifyTaggerTagFormFieldComponent_1 }],
|
|
5844
|
+
styles: [".mat-relative-icon{font-size:20px;position:relative;right:7px;top:-3px}"]
|
|
5845
|
+
},] }
|
|
5846
|
+
];
|
|
5847
|
+
TechlifyTaggerTagFormFieldComponent.ctorParameters = () => [
|
|
5848
|
+
{ type: FocusMonitor },
|
|
5849
|
+
{ type: ElementRef },
|
|
5850
|
+
{ type: HttpService },
|
|
5851
|
+
{ type: MatFormField, decorators: [{ type: Optional }, { type: Inject, args: [MAT_FORM_FIELD,] }] },
|
|
5852
|
+
{ type: NgControl, decorators: [{ type: Optional }, { type: Self }] }
|
|
5853
|
+
];
|
|
5854
|
+
TechlifyTaggerTagFormFieldComponent.propDecorators = {
|
|
5855
|
+
tagInput: [{ type: ViewChild, args: ['tagInput',] }],
|
|
5856
|
+
config: [{ type: Input }],
|
|
5857
|
+
modelType: [{ type: Input }],
|
|
5858
|
+
modelId: [{ type: Input }],
|
|
5859
|
+
allTags: [{ type: Input }],
|
|
5860
|
+
categories: [{ type: Input }],
|
|
5861
|
+
defaultCreateCategory: [{ type: Input }],
|
|
5862
|
+
required: [{ type: Input }],
|
|
5863
|
+
disabled: [{ type: Input }],
|
|
5864
|
+
value: [{ type: Input }],
|
|
5865
|
+
placeholder: [{ type: Input }]
|
|
5866
|
+
};
|
|
5867
|
+
TechlifyTaggerTagFormFieldComponent = TechlifyTaggerTagFormFieldComponent_1 = __decorate([
|
|
5868
|
+
UntilDestroy()
|
|
5869
|
+
], TechlifyTaggerTagFormFieldComponent);
|
|
5870
|
+
|
|
5871
|
+
class TechlifyTaggerTagFormFieldModule {
|
|
5604
5872
|
}
|
|
5605
|
-
|
|
5873
|
+
TechlifyTaggerTagFormFieldModule.decorators = [
|
|
5606
5874
|
{ type: NgModule, args: [{
|
|
5607
|
-
|
|
5608
|
-
|
|
5875
|
+
declarations: [
|
|
5876
|
+
TechlifyTaggerTagFormFieldComponent
|
|
5877
|
+
],
|
|
5878
|
+
imports: [
|
|
5879
|
+
CommonModule,
|
|
5880
|
+
MaterialModule,
|
|
5881
|
+
FlexLayoutModule,
|
|
5882
|
+
MatAutocompleteModule,
|
|
5883
|
+
ReactiveFormsModule
|
|
5884
|
+
],
|
|
5885
|
+
exports: [TechlifyTaggerTagFormFieldComponent]
|
|
5609
5886
|
},] }
|
|
5610
5887
|
];
|
|
5611
5888
|
|
|
5612
|
-
|
|
5613
|
-
|
|
5614
|
-
|
|
5615
|
-
this.
|
|
5616
|
-
this.
|
|
5617
|
-
this.
|
|
5618
|
-
this.
|
|
5619
|
-
|
|
5620
|
-
|
|
5889
|
+
var TechlifyTaggerTagSelectorComponent_1;
|
|
5890
|
+
let TechlifyTaggerTagSelectorComponent = TechlifyTaggerTagSelectorComponent_1 = class TechlifyTaggerTagSelectorComponent {
|
|
5891
|
+
constructor(_focusMonitor, _elementRef, httpService, _formField, ngControl) {
|
|
5892
|
+
this._focusMonitor = _focusMonitor;
|
|
5893
|
+
this._elementRef = _elementRef;
|
|
5894
|
+
this.httpService = httpService;
|
|
5895
|
+
this._formField = _formField;
|
|
5896
|
+
this.ngControl = ngControl;
|
|
5897
|
+
/**Pass the Categories to filter for a model */
|
|
5898
|
+
this.categories = [];
|
|
5899
|
+
this.multiple = false;
|
|
5900
|
+
this.enableSearch = true;
|
|
5901
|
+
this.tagSelectorCtrl = new FormControl();
|
|
5902
|
+
this.showAllTags = false;
|
|
5903
|
+
this.useSelectButtonStyle = false;
|
|
5904
|
+
this.tags = [];
|
|
5905
|
+
this.stateChanges = new Subject();
|
|
5906
|
+
this.focused = false;
|
|
5907
|
+
this.controlType = 'techlify-tagger-selector';
|
|
5908
|
+
this.id = `techlify-tagger-selector-${TechlifyTaggerTagSelectorComponent_1.nextId++}`;
|
|
5909
|
+
this.onChange = (_) => { };
|
|
5910
|
+
this.onTouched = () => { };
|
|
5911
|
+
this._required = false;
|
|
5912
|
+
this._disabled = false;
|
|
5913
|
+
//Set Focus Monitor
|
|
5914
|
+
_focusMonitor.monitor(_elementRef, true).subscribe(origin => {
|
|
5915
|
+
if (this.focused && !origin) {
|
|
5916
|
+
this.onTouched();
|
|
5917
|
+
}
|
|
5918
|
+
this.focused = !!origin;
|
|
5919
|
+
this.stateChanges.next();
|
|
5920
|
+
});
|
|
5921
|
+
if (this.ngControl != null) {
|
|
5922
|
+
this.ngControl.valueAccessor = this;
|
|
5923
|
+
}
|
|
5621
5924
|
}
|
|
5622
|
-
|
|
5623
|
-
|
|
5624
|
-
if (
|
|
5625
|
-
return
|
|
5925
|
+
get apiUrl() {
|
|
5926
|
+
var _a;
|
|
5927
|
+
if (this.showAllTags) {
|
|
5928
|
+
return 'api/techlify-tagger-tags';
|
|
5626
5929
|
}
|
|
5627
|
-
else if (
|
|
5628
|
-
return
|
|
5930
|
+
else if (((_a = this.categories) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
5931
|
+
return 'api/techlify-tagger-tags?categories=' + this.categories.join(',');
|
|
5629
5932
|
}
|
|
5630
5933
|
else {
|
|
5631
|
-
|
|
5632
|
-
return false;
|
|
5934
|
+
return '';
|
|
5633
5935
|
}
|
|
5634
5936
|
}
|
|
5635
|
-
|
|
5636
|
-
|
|
5637
|
-
|
|
5937
|
+
//Default Getter and Setters for a Form Field Implementation
|
|
5938
|
+
get empty() {
|
|
5939
|
+
return this.value.length == 0;
|
|
5940
|
+
}
|
|
5941
|
+
get shouldLabelFloat() {
|
|
5942
|
+
return this.focused || !this.empty;
|
|
5943
|
+
}
|
|
5944
|
+
get required() {
|
|
5945
|
+
return this._required;
|
|
5946
|
+
}
|
|
5947
|
+
set required(value) {
|
|
5948
|
+
this._required = coerceBooleanProperty(value);
|
|
5949
|
+
this.stateChanges.next();
|
|
5950
|
+
}
|
|
5951
|
+
get disabled() {
|
|
5952
|
+
return this._disabled;
|
|
5953
|
+
}
|
|
5954
|
+
set disabled(value) {
|
|
5955
|
+
this._disabled = coerceBooleanProperty(value);
|
|
5956
|
+
this._disabled ? this.tagSelectorCtrl.disable() : this.tagSelectorCtrl.enable();
|
|
5957
|
+
this.stateChanges.next();
|
|
5958
|
+
}
|
|
5959
|
+
get value() {
|
|
5960
|
+
return this._value;
|
|
5961
|
+
}
|
|
5962
|
+
set value(val) {
|
|
5963
|
+
this._value = val;
|
|
5964
|
+
this.tagSelectorCtrl.setValue(val);
|
|
5965
|
+
this.stateChanges.next();
|
|
5966
|
+
}
|
|
5967
|
+
get errorState() {
|
|
5968
|
+
return this.tagSelectorCtrl.dirty && this.required && (this.value.length == 0);
|
|
5969
|
+
}
|
|
5970
|
+
get placeholder() {
|
|
5971
|
+
return this._placeholder;
|
|
5972
|
+
}
|
|
5973
|
+
set placeholder(value) {
|
|
5974
|
+
this._placeholder = value;
|
|
5975
|
+
this.stateChanges.next();
|
|
5976
|
+
}
|
|
5977
|
+
ngOnInit() {
|
|
5978
|
+
if (this.useSelectButtonStyle) {
|
|
5979
|
+
this.httpService.get(this.apiUrl)
|
|
5980
|
+
.pipe(untilDestroyed(this))
|
|
5981
|
+
.subscribe((res) => {
|
|
5982
|
+
this.tags = res.data;
|
|
5983
|
+
});
|
|
5638
5984
|
}
|
|
5639
5985
|
}
|
|
5640
|
-
|
|
5641
|
-
|
|
5642
|
-
|
|
5643
|
-
this.http
|
|
5644
|
-
.skipHeader()
|
|
5645
|
-
.post(this.uploadUrl, formData)
|
|
5646
|
-
.pipe(untilDestroyed(this))
|
|
5647
|
-
.subscribe((result) => {
|
|
5648
|
-
var _a, _b;
|
|
5649
|
-
this.imageFile = (_a = result.item) === null || _a === void 0 ? void 0 : _a.file;
|
|
5650
|
-
this.imageUrl = (_b = result.item) === null || _b === void 0 ? void 0 : _b.url;
|
|
5651
|
-
this.imageFileChange.emit(this.imageFile);
|
|
5652
|
-
this.imageUrlChange.emit(this.imageUrl);
|
|
5653
|
-
});
|
|
5986
|
+
selectionChange(value) {
|
|
5987
|
+
this.value = value;
|
|
5988
|
+
this._handleInput();
|
|
5654
5989
|
}
|
|
5655
|
-
|
|
5656
|
-
|
|
5657
|
-
this.http
|
|
5658
|
-
.put(this.removeUrl, { file: this.imageFile })
|
|
5659
|
-
.pipe(untilDestroyed(this))
|
|
5660
|
-
.subscribe((result) => {
|
|
5661
|
-
this.imageFile = '';
|
|
5662
|
-
this.imageUrl = '';
|
|
5663
|
-
this.imageFileChange.emit(this.imageFile);
|
|
5664
|
-
this.imageUrlChange.emit(this.imageUrl);
|
|
5665
|
-
});
|
|
5990
|
+
setDescribedByIds(ids) {
|
|
5991
|
+
// Just a empty implementation for Mat Form Field Interface
|
|
5666
5992
|
}
|
|
5667
|
-
|
|
5668
|
-
|
|
5669
|
-
|
|
5993
|
+
onContainerClick() {
|
|
5994
|
+
// Just a empty implementation for Mat Form Field Interface
|
|
5995
|
+
}
|
|
5996
|
+
writeValue(val) {
|
|
5997
|
+
this.value = val;
|
|
5998
|
+
}
|
|
5999
|
+
registerOnChange(fn) {
|
|
6000
|
+
this.onChange = fn;
|
|
6001
|
+
}
|
|
6002
|
+
registerOnTouched(fn) {
|
|
6003
|
+
this.onTouched = fn;
|
|
6004
|
+
}
|
|
6005
|
+
setDisabledState(isDisabled) {
|
|
6006
|
+
this.disabled = isDisabled;
|
|
6007
|
+
}
|
|
6008
|
+
_handleInput() {
|
|
6009
|
+
this.onChange(this.value);
|
|
6010
|
+
}
|
|
6011
|
+
ngOnDestroy() {
|
|
6012
|
+
this.stateChanges.complete();
|
|
6013
|
+
this._focusMonitor.stopMonitoring(this._elementRef);
|
|
5670
6014
|
}
|
|
5671
6015
|
};
|
|
5672
|
-
|
|
6016
|
+
TechlifyTaggerTagSelectorComponent.nextId = 0;
|
|
6017
|
+
TechlifyTaggerTagSelectorComponent.decorators = [
|
|
5673
6018
|
{ type: Component, args: [{
|
|
5674
|
-
selector: 'app-
|
|
5675
|
-
template: "<
|
|
5676
|
-
|
|
6019
|
+
selector: 'app-techlify-tagger-tag-selector',
|
|
6020
|
+
template: "<app-searchable-selector *ngIf=\"apiUrl && !useSelectButtonStyle\" [formControl]=\"tagSelectorCtrl\" [apiUrl]=\"apiUrl\"\n [enableSearch]=\"enableSearch\" [multiple]=\"multiple\" (selectionChange)=\"selectionChange($event)\">\n</app-searchable-selector>\n\n<mat-button-toggle-group *ngIf=\"apiUrl && useSelectButtonStyle\" [formControl]=\"tagSelectorCtrl\" [multiple]=\"multiple\"\n (change)=\"selectionChange($event.value)\">\n <mat-button-toggle *ngFor=\"let tag of tags\" [value]=\"tag.id\">{{tag.title}}</mat-button-toggle>\n</mat-button-toggle-group>",
|
|
6021
|
+
providers: [{ provide: MatFormFieldControl, useExisting: TechlifyTaggerTagSelectorComponent_1 }],
|
|
6022
|
+
styles: [""]
|
|
5677
6023
|
},] }
|
|
5678
6024
|
];
|
|
5679
|
-
|
|
6025
|
+
TechlifyTaggerTagSelectorComponent.ctorParameters = () => [
|
|
6026
|
+
{ type: FocusMonitor },
|
|
6027
|
+
{ type: ElementRef },
|
|
5680
6028
|
{ type: HttpService },
|
|
5681
|
-
{ type:
|
|
6029
|
+
{ type: MatFormField, decorators: [{ type: Optional }, { type: Inject, args: [MAT_FORM_FIELD,] }] },
|
|
6030
|
+
{ type: NgControl, decorators: [{ type: Optional }, { type: Self }] }
|
|
5682
6031
|
];
|
|
5683
|
-
|
|
5684
|
-
|
|
5685
|
-
|
|
5686
|
-
|
|
5687
|
-
|
|
5688
|
-
|
|
5689
|
-
|
|
5690
|
-
|
|
5691
|
-
|
|
5692
|
-
|
|
5693
|
-
imageFileChange: [{ type: Output }],
|
|
5694
|
-
imageUrlChange: [{ type: Output }]
|
|
6032
|
+
TechlifyTaggerTagSelectorComponent.propDecorators = {
|
|
6033
|
+
categories: [{ type: Input }],
|
|
6034
|
+
multiple: [{ type: Input }],
|
|
6035
|
+
enableSearch: [{ type: Input }],
|
|
6036
|
+
showAllTags: [{ type: Input }],
|
|
6037
|
+
useSelectButtonStyle: [{ type: Input }],
|
|
6038
|
+
required: [{ type: Input }],
|
|
6039
|
+
disabled: [{ type: Input }],
|
|
6040
|
+
value: [{ type: Input }],
|
|
6041
|
+
placeholder: [{ type: Input }]
|
|
5695
6042
|
};
|
|
5696
|
-
|
|
6043
|
+
TechlifyTaggerTagSelectorComponent = TechlifyTaggerTagSelectorComponent_1 = __decorate([
|
|
5697
6044
|
UntilDestroy()
|
|
5698
|
-
],
|
|
6045
|
+
], TechlifyTaggerTagSelectorComponent);
|
|
5699
6046
|
|
|
5700
|
-
class
|
|
6047
|
+
class TechlifyTaggerTagSelectorModule {
|
|
5701
6048
|
}
|
|
5702
|
-
|
|
6049
|
+
TechlifyTaggerTagSelectorModule.decorators = [
|
|
5703
6050
|
{ type: NgModule, args: [{
|
|
5704
|
-
declarations: [
|
|
6051
|
+
declarations: [
|
|
6052
|
+
TechlifyTaggerTagSelectorComponent
|
|
6053
|
+
],
|
|
5705
6054
|
imports: [
|
|
5706
6055
|
CommonModule,
|
|
5707
6056
|
MaterialModule,
|
|
5708
6057
|
FlexLayoutModule,
|
|
6058
|
+
MatAutocompleteModule,
|
|
5709
6059
|
ReactiveFormsModule,
|
|
5710
|
-
|
|
6060
|
+
SearchableSelectorModule,
|
|
6061
|
+
MatButtonToggleModule
|
|
5711
6062
|
],
|
|
5712
|
-
exports: [
|
|
6063
|
+
exports: [TechlifyTaggerTagSelectorComponent]
|
|
5713
6064
|
},] }
|
|
5714
6065
|
];
|
|
5715
6066
|
|
|
@@ -5721,5 +6072,5 @@ ImageForModelModule.decorators = [
|
|
|
5721
6072
|
* Generated bundle index. Do not edit.
|
|
5722
6073
|
*/
|
|
5723
6074
|
|
|
5724
|
-
export { ActionPopup, ActionPopupComponent, ActionPopupModule, AlertService, ApiPrefixInterceptor, AuditLogForModelComponent, AuditLogForModelModule, AuditLogForModelRoutingModule, AuditLogListComponent, AuditLogListFilterComponent, AuditLogListFilterModule, AuditLogListFilterRoutingModule, AuditLogListModule, AuditLogListRoutingModule, AuditLogModule, AuditLogRoutingModule, AuditLogViewComponent, AuditLogViewModelComponent, AuditLogViewModelModule, AuditLogViewModelRoutingModule, AuditLogViewModule, AuditLogViewRoutingModule, AuditLogsViewModelComponent, AuditLogsViewModelModule, AuditLogsViewModelRoutingModule, AuthenticationGuard, AuthenticationService, CacheInterceptor, ConfigService, CoreModule, CredentialsService, DataManager, DataTable, DataTableComponent, DataTableModule, DateUtils, DateValidator, DocumentViewerComponent, DocumentViewerModule, EmailSubscriptionForUserComponent, EmailSubscriptionForUserModule, EmailSubscriptionForUserRoutingModule, EmailSubscriptionModule, EmailSubscriptionRoutingModule, EmailSubscriptionTypeFormComponent, EmailSubscriptionTypeFormModule, EmailSubscriptionTypeFormRoutingModule, EmailSubscriptionTypeListComponent, EmailSubscriptionTypeListModule, EmailSubscriptionTypeListRoutingModule, EmailSubscriptionTypeModule, EmailSubscriptionTypeRoutingModule, EmailSubscriptionUserFormComponent, EmailSubscriptionUserFormModule, EmailSubscriptionUserFormRoutingModule, EmailSubscriptionUserListComponent, EmailSubscriptionUserListFilterComponent, EmailSubscriptionUserListFilterModule, EmailSubscriptionUserListFilterRoutingModule, EmailSubscriptionUserListModule, EmailSubscriptionUserListRoutingModule, EmailSubscriptionUserModule, EmailSubscriptionUserRoutingModule, EntityFileFormComponent, EntityFilesViewAllComponent, EntityFilesViewAllModule, ErrorHandlerInterceptor, ErrorHandlerService, ErrorSnackComponent, ExportExcelButtonComponent, ExportExcelModule, FailedItemsComponent, FailedItemsModule, FailedItemsRoutingModule, FileDropperComponent, FileDropperConfig, FileDropperModule, FormValidatorService, HTTP_DYNAMIC_INTERCEPTORS, HttpCacheService, HttpService,
|
|
6075
|
+
export { ActionPopup, ActionPopupComponent, ActionPopupModule, AlertService, ApiPrefixInterceptor, AuditLogForModelComponent, AuditLogForModelModule, AuditLogForModelRoutingModule, AuditLogListComponent, AuditLogListFilterComponent, AuditLogListFilterModule, AuditLogListFilterRoutingModule, AuditLogListModule, AuditLogListRoutingModule, AuditLogModule, AuditLogRoutingModule, AuditLogViewComponent, AuditLogViewModelComponent, AuditLogViewModelModule, AuditLogViewModelRoutingModule, AuditLogViewModule, AuditLogViewRoutingModule, AuditLogsViewModelComponent, AuditLogsViewModelModule, AuditLogsViewModelRoutingModule, AuthenticationGuard, AuthenticationService, CacheInterceptor, ConfigService, CoreModule, CredentialsService, DataManager, DataTable, DataTableComponent, DataTableModule, DateUtils, DateValidator, DocumentViewerComponent, DocumentViewerModule, EmailSubscriptionForUserComponent, EmailSubscriptionForUserModule, EmailSubscriptionForUserRoutingModule, EmailSubscriptionModule, EmailSubscriptionRoutingModule, EmailSubscriptionTypeFormComponent, EmailSubscriptionTypeFormModule, EmailSubscriptionTypeFormRoutingModule, EmailSubscriptionTypeListComponent, EmailSubscriptionTypeListModule, EmailSubscriptionTypeListRoutingModule, EmailSubscriptionTypeModule, EmailSubscriptionTypeRoutingModule, EmailSubscriptionUserFormComponent, EmailSubscriptionUserFormModule, EmailSubscriptionUserFormRoutingModule, EmailSubscriptionUserListComponent, EmailSubscriptionUserListFilterComponent, EmailSubscriptionUserListFilterModule, EmailSubscriptionUserListFilterRoutingModule, EmailSubscriptionUserListModule, EmailSubscriptionUserListRoutingModule, EmailSubscriptionUserModule, EmailSubscriptionUserRoutingModule, EntityFileFormComponent, EntityFilesViewAllComponent, EntityFilesViewAllModule, ErrorHandlerInterceptor, ErrorHandlerService, ErrorSnackComponent, ExportExcelButtonComponent, ExportExcelModule, FailedItemsComponent, FailedItemsModule, FailedItemsRoutingModule, FileDropperComponent, FileDropperConfig, FileDropperModule, FormValidatorService, HTTP_DYNAMIC_INTERCEPTORS, HttpCacheService, HttpService, ImportConfig, ImportCsvComponent, ImportCsvModule, ImportCsvRoutingModule, ImportItemsComponent, ImportItemsModule, ImportItemsRoutingModule, LoaderComponent, LoaderModule, LogLevel, Logger, LoginHistoryForUserComponent, LoginHistoryForUserModule, LoginHistoryForUserRoutingModule, MatSelectInfiniteScrollDirective, MaterialModule, NoteFormComponent, NoteListComponent, NoteModule, NumItemsSelector, NumberSelector, PageEvent, RouteReusableStrategy, SearchableSelectorComponent, SearchableSelectorModule, SnackModule, StorageService, SuccessSnackComponent, TechlifyConfig, TechlifyTaggerTagFormConfigModel, TechlifyTaggerTagFormFieldComponent, TechlifyTaggerTagFormFieldModule, TechlifyTaggerTagSelectorComponent, TechlifyTaggerTagSelectorModule, TechlifyUpdateHistoryModule, TechlifyUpdateModule, Timeline, TimelineFilterComponent, TimelineFilterModule, TokenInterceptor, UpdateNotifierComponent, UpdateNotifierModule, UtilityModule, ViewerConfig, calculateTimeline, esfur, estlr, esulr, SnackModule as ɵa, SuccessSnackComponent as ɵb, EmailSubscriptionUserFormComponent as ɵba, EmailSubscriptionUserListComponent as ɵbb, AuthenticationGuard as ɵbc, CredentialsService as ɵbd, ConfigService as ɵbe, TechlifyConfig as ɵbf, EmailSubscriptionUserListFilterComponent as ɵbg, EmailSubscriptionTypeFormComponent as ɵbh, EmailSubscriptionTypeListComponent as ɵbi, EmailSubscriptionForUserComponent as ɵbj, TechlifyUpdatesListComponent as ɵbk, TechlifyUpdateService as ɵbl, TechlifyUpdateRoutingModule as ɵbm, TechlifyUpdateFormModule as ɵbn, TechlifyUpdateFormComponent as ɵbo, ReadMoreModule as ɵbp, ReadMoreComponent as ɵbq, TechlifyUpdateHistoryRoutingModule as ɵbr, TechlifyUpdateHistoryComponent as ɵbs, UpdateNotifierSnackComponent as ɵbt, UpdateViewModule as ɵbu, UpdateViewComponent as ɵbv, DataManager as ɵbw, ErrorSnackComponent as ɵc, HTTP_DYNAMIC_INTERCEPTORS as ɵd, HttpService as ɵe, RouteReusableStrategy as ɵf, ActionPopupComponent as ɵg, ActionPopup as ɵh, DataTableComponent as ɵi, DocumentViewerComponent as ɵj, EntityFileFormComponent as ɵk, FormValidatorService as ɵl, EntityFileService as ɵm, AlertService as ɵn, EntityFilesViewAllComponent as ɵo, FileDropperComponent as ɵp, NoteListComponent as ɵq, NoteService as ɵr, NoteFormComponent as ɵs, SearchableSelectorComponent as ɵt, MatSelectInfiniteScrollDirective as ɵu, NumItemsSelector as ɵv, NumberSelector as ɵw, TimelineFilterComponent as ɵx, TimelineFilterRoutingModule as ɵy, LoaderComponent as ɵz };
|
|
5725
6076
|
//# sourceMappingURL=ngx-techlify-core.js.map
|