@stratusjs/angular 0.8.3 → 0.8.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stratusjs/angular",
3
- "version": "0.8.3",
3
+ "version": "0.8.5",
4
4
  "description": "This is the angular package for StratusJS.",
5
5
  "scripts": {},
6
6
  "repository": {
@@ -0,0 +1,2 @@
1
+
2
+ /*# sourceMappingURL=json.component.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"json.component.css","sourcesContent":[]}
@@ -0,0 +1,257 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { ChangeDetectorRef, Component, ElementRef, Input } from '@angular/core';
11
+ import { DomSanitizer } from '@angular/platform-browser';
12
+ import { Stratus } from '@stratusjs/runtime/stratus';
13
+ import _, { has } from 'lodash';
14
+ import { cookie } from '@stratusjs/core/environment';
15
+ import { RootComponent } from '../core/root.component';
16
+ import { Observable, Subject, timer } from 'rxjs';
17
+ import { FormBuilder, FormControl } from '@angular/forms';
18
+ import { MatDialog } from '@angular/material/dialog';
19
+ import { EventManager } from '@stratusjs/core/events/eventManager';
20
+ import { catchError, debounce } from 'rxjs/operators';
21
+ import { Registry } from '@stratusjs/angularjs/services/registry';
22
+ const systemDir = '@stratusjs/angular';
23
+ const moduleName = 'json';
24
+ const min = !cookie('env') ? '.min' : '';
25
+ const localDir = `${Stratus.BaseUrl}${boot.configuration.paths[`${systemDir}/*`].replace(/[^/]*$/, '').replace(/\/dist\/$/, '/src/')}`;
26
+ let JsonComponent = class JsonComponent extends RootComponent {
27
+ constructor(sanitizer, ref, elementRef, fb, dialog) {
28
+ super();
29
+ this.sanitizer = sanitizer;
30
+ this.ref = ref;
31
+ this.elementRef = elementRef;
32
+ this.fb = fb;
33
+ this.dialog = dialog;
34
+ this.title = `${moduleName}_component`;
35
+ this.dev = !!cookie('env');
36
+ this.debug = !!cookie(`debug_${moduleName}`);
37
+ this._ = _;
38
+ this.has = has;
39
+ this.log = console.log;
40
+ this.Stratus = Stratus;
41
+ this.registry = new Registry();
42
+ this.onChange = new Subject();
43
+ this.svgIcons = {};
44
+ this.initialized = false;
45
+ this.styled = false;
46
+ this.blurred = false;
47
+ this.focused = false;
48
+ this.form = this.fb.group({
49
+ dataString: new FormControl(),
50
+ });
51
+ this.dataChangeLog = [];
52
+ this.incomingData = '';
53
+ this.outgoingData = '';
54
+ this.debounceSave = true;
55
+ this.debounceTime = 5000;
56
+ this.forceSave = false;
57
+ this.uid = _.uniqueId(`sa_${_.snakeCase(moduleName)}_component_`);
58
+ Stratus.Instances[this.uid] = this;
59
+ Stratus.Internals.LoadCss([
60
+ `${localDir}${moduleName}/${moduleName}.component${min}.css`,
61
+ ]).then(() => {
62
+ this.styled = true;
63
+ this.refresh();
64
+ }).catch((e) => {
65
+ console.error(e);
66
+ console.warn('Issue detected in CSS Loader for Component:', this.uid);
67
+ this.styled = true;
68
+ this.refresh();
69
+ });
70
+ this.hydrate(elementRef, sanitizer, ["title", "uid", "dev", "debug", "target", "targetSuffix", "id", "manifest", "decouple", "direct", "api", "urlRoot", "type", "property", "endpoint", "_", "has", "log", "Stratus", "registry", "fetched", "data", "collection", "model", "dataSub", "onChange", "subscriber", "svgIcons", "initialized", "styled", "blurred", "focused", "codeViewIsOpen", "form", "dataChangeLog", "incomingData", "outgoingData", "debounceSave", "debounceTime", "forceSave", "sanitizer", "ref", "elementRef", "fb", "dialog", "ngOnInit", "handleError", "fetchData", "dataDefer", "dataRef", "onDataChange", "modelSave", "hydrate", "disableRefresh", "stagger", "reloading", "refresh", "ngOnDestroy"]);
71
+ this.fetchData()
72
+ .then(data => {
73
+ if (!data || !(data instanceof EventManager)) {
74
+ console.warn('Unable to bind data from Registry!');
75
+ return;
76
+ }
77
+ const onDataChange = () => {
78
+ if (!data.completed) {
79
+ return;
80
+ }
81
+ this.dataDefer(this.subscriber);
82
+ };
83
+ data.on('change', onDataChange);
84
+ onDataChange();
85
+ });
86
+ this.dataSub = new Observable(subscriber => {
87
+ if (this.dev) {
88
+ console.warn(`[observable] creating subscriber on ${this.uid}`, subscriber);
89
+ }
90
+ return this.dataDefer(subscriber);
91
+ });
92
+ this.dataSub.pipe(debounce(() => timer(250)), catchError(this.handleError)).subscribe(evt => {
93
+ if (this.focused) {
94
+ if (this.dev) {
95
+ console.warn(`[subscriber] waiting on updates due to focus on ${this.uid}`);
96
+ }
97
+ return;
98
+ }
99
+ const dataControl = this.form.get('dataString');
100
+ if (dataControl.value === evt) {
101
+ if (this.initialized) {
102
+ this.refresh();
103
+ }
104
+ return;
105
+ }
106
+ dataControl.patchValue(evt);
107
+ this.refresh();
108
+ });
109
+ }
110
+ ngOnInit() {
111
+ this.initialized = true;
112
+ const dataControl = this.form.get('dataString');
113
+ if (this.debounceSave) {
114
+ dataControl.valueChanges.pipe(debounce(() => timer(this.debounceTime)), catchError(this.handleError)).subscribe((evt) => this.modelSave(evt));
115
+ dataControl.valueChanges.pipe(debounce(() => timer(250)), catchError(this.handleError)).subscribe((evt) => {
116
+ if (this.model.changedExternal) {
117
+ return;
118
+ }
119
+ this.model.changedExternal = true;
120
+ this.model.trigger('change');
121
+ });
122
+ dataControl.valueChanges.forEach((value) => this.outgoingData = value);
123
+ }
124
+ else {
125
+ dataControl.valueChanges.forEach((value) => this.modelSave(value));
126
+ }
127
+ }
128
+ handleError(err) {
129
+ console.error(err);
130
+ return err;
131
+ }
132
+ fetchData() {
133
+ if (this.fetched) {
134
+ return this.fetched;
135
+ }
136
+ return this.fetched = this.registry.fetch(Stratus.Select(this.elementRef.nativeElement), this);
137
+ }
138
+ dataDefer(subscriber) {
139
+ this.subscriber = this.subscriber || subscriber;
140
+ if (!this.subscriber) {
141
+ if (this.dev) {
142
+ console.warn(`[defer] debouncing due to empty subscriber on ${this.uid}`);
143
+ }
144
+ setTimeout(() => {
145
+ if (this.dev) {
146
+ console.warn(`[defer] debounced subscriber returned on ${this.uid}`);
147
+ }
148
+ this.dataDefer(subscriber);
149
+ }, 250);
150
+ return;
151
+ }
152
+ const prevString = _.clone(this.incomingData);
153
+ const dataString = this.dataRef();
154
+ if (prevString === dataString) {
155
+ return;
156
+ }
157
+ if (!dataString && (!this.data || !this.data.completed)) {
158
+ if (this.dev) {
159
+ console.warn(`[defer] debouncing subscriber due to unavailable data on ${this.uid}`, this.data);
160
+ }
161
+ setTimeout(() => {
162
+ if (this.dev) {
163
+ console.warn(`[defer] debounced subscriber returned on ${this.uid}`);
164
+ }
165
+ this.dataDefer(subscriber);
166
+ }, 250);
167
+ return;
168
+ }
169
+ if (prevString === dataString) {
170
+ return;
171
+ }
172
+ if (this.dev) {
173
+ console.warn(`[subscriber] new value submitted on ${this.uid}:`, dataString);
174
+ }
175
+ this.subscriber.next(dataString);
176
+ }
177
+ dataRef() {
178
+ if (!this.model) {
179
+ return '';
180
+ }
181
+ return this.incomingData = this.model.get(this.property);
182
+ }
183
+ onDataChange() {
184
+ this.dataDefer(this.subscriber);
185
+ this.refresh();
186
+ }
187
+ modelSave(value) {
188
+ if (!this.model.completed) {
189
+ return;
190
+ }
191
+ this.model.set(this.property, value);
192
+ if (this.debounceSave) {
193
+ this.model.changedExternal = false;
194
+ }
195
+ if (this.forceSave && !_.isEmpty(this.model.getIdentifier())) {
196
+ this.model.save();
197
+ }
198
+ }
199
+ };
200
+ __decorate([
201
+ Input(),
202
+ __metadata("design:type", String)
203
+ ], JsonComponent.prototype, "target", void 0);
204
+ __decorate([
205
+ Input(),
206
+ __metadata("design:type", String)
207
+ ], JsonComponent.prototype, "targetSuffix", void 0);
208
+ __decorate([
209
+ Input(),
210
+ __metadata("design:type", Number)
211
+ ], JsonComponent.prototype, "id", void 0);
212
+ __decorate([
213
+ Input(),
214
+ __metadata("design:type", Boolean)
215
+ ], JsonComponent.prototype, "manifest", void 0);
216
+ __decorate([
217
+ Input(),
218
+ __metadata("design:type", Boolean)
219
+ ], JsonComponent.prototype, "decouple", void 0);
220
+ __decorate([
221
+ Input(),
222
+ __metadata("design:type", Boolean)
223
+ ], JsonComponent.prototype, "direct", void 0);
224
+ __decorate([
225
+ Input(),
226
+ __metadata("design:type", Object)
227
+ ], JsonComponent.prototype, "api", void 0);
228
+ __decorate([
229
+ Input(),
230
+ __metadata("design:type", String)
231
+ ], JsonComponent.prototype, "urlRoot", void 0);
232
+ __decorate([
233
+ Input(),
234
+ __metadata("design:type", String)
235
+ ], JsonComponent.prototype, "type", void 0);
236
+ __decorate([
237
+ Input(),
238
+ __metadata("design:type", String)
239
+ ], JsonComponent.prototype, "property", void 0);
240
+ __decorate([
241
+ Input(),
242
+ __metadata("design:type", String)
243
+ ], JsonComponent.prototype, "endpoint", void 0);
244
+ JsonComponent = __decorate([
245
+ Component({
246
+ selector: 'sa-json',
247
+ templateUrl: `${localDir}/${moduleName}/${moduleName}.component${min}.html`,
248
+ }),
249
+ __metadata("design:paramtypes", [DomSanitizer,
250
+ ChangeDetectorRef,
251
+ ElementRef,
252
+ FormBuilder,
253
+ MatDialog])
254
+ ], JsonComponent);
255
+ export { JsonComponent };
256
+
257
+ //# sourceMappingURL=json.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["json.component.ts"],"names":[],"mappings":"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","file":"json.component.js"}
File without changes
@@ -0,0 +1 @@
1
+ var __decorate=this&&this.__decorate||function(e,t,o,r){var i,s=arguments.length,n=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(n=(s<3?i(n):s>3?i(t,o,n):i(t,o))||n);return s>3&&n&&Object.defineProperty(t,o,n),n},__metadata=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};import{ChangeDetectorRef,Component,ElementRef,Input}from"@angular/core";import{DomSanitizer}from"@angular/platform-browser";import{Stratus}from"@stratusjs/runtime/stratus";import _,{has}from"lodash";import{cookie}from"@stratusjs/core/environment";import{RootComponent}from"../core/root.component";import{Observable,Subject,timer}from"rxjs";import{FormBuilder,FormControl}from"@angular/forms";import{MatDialog}from"@angular/material/dialog";import{EventManager}from"@stratusjs/core/events/eventManager";import{catchError,debounce}from"rxjs/operators";import{Registry}from"@stratusjs/angularjs/services/registry";const systemDir="@stratusjs/angular",moduleName="json",min=cookie("env")?"":".min",localDir=`${Stratus.BaseUrl}${boot.configuration.paths[systemDir+"/*"].replace(/[^/]*$/,"").replace(/\/dist\/$/,"/src/")}`;let JsonComponent=class extends RootComponent{constructor(e,t,o,r,i){super(),this.sanitizer=e,this.ref=t,this.elementRef=o,this.fb=r,this.dialog=i,this.title="json_component",this.dev=!!cookie("env"),this.debug=!!cookie("debug_json"),this._=_,this.has=has,this.log=console.log,this.Stratus=Stratus,this.registry=new Registry,this.onChange=new Subject,this.svgIcons={},this.initialized=!1,this.styled=!1,this.blurred=!1,this.focused=!1,this.form=this.fb.group({dataString:new FormControl}),this.dataChangeLog=[],this.incomingData="",this.outgoingData="",this.debounceSave=!0,this.debounceTime=5e3,this.forceSave=!1,this.uid=_.uniqueId(`sa_${_.snakeCase("json")}_component_`),Stratus.Instances[this.uid]=this,Stratus.Internals.LoadCss([`${localDir}json/json.component${min}.css`]).then(()=>{this.styled=!0,this.refresh()}).catch(e=>{console.error(e),console.warn("Issue detected in CSS Loader for Component:",this.uid),this.styled=!0,this.refresh()}),this.hydrate(o,e,["title","uid","dev","debug","target","targetSuffix","id","manifest","decouple","direct","api","urlRoot","type","property","endpoint","_","has","log","Stratus","registry","fetched","data","collection","model","dataSub","onChange","subscriber","svgIcons","initialized","styled","blurred","focused","codeViewIsOpen","form","dataChangeLog","incomingData","outgoingData","debounceSave","debounceTime","forceSave","sanitizer","ref","elementRef","fb","dialog","ngOnInit","handleError","fetchData","dataDefer","dataRef","onDataChange","modelSave","hydrate","disableRefresh","stagger","reloading","refresh","ngOnDestroy"]),this.fetchData().then(e=>{if(!(e&&e instanceof EventManager))return void console.warn("Unable to bind data from Registry!");const t=()=>{e.completed&&this.dataDefer(this.subscriber)};e.on("change",t),t()}),this.dataSub=new Observable(e=>(this.dev&&console.warn("[observable] creating subscriber on "+this.uid,e),this.dataDefer(e))),this.dataSub.pipe(debounce(()=>timer(250)),catchError(this.handleError)).subscribe(e=>{if(this.focused)return void(this.dev&&console.warn("[subscriber] waiting on updates due to focus on "+this.uid));const t=this.form.get("dataString");t.value!==e?(t.patchValue(e),this.refresh()):this.initialized&&this.refresh()})}ngOnInit(){this.initialized=!0;const e=this.form.get("dataString");this.debounceSave?(e.valueChanges.pipe(debounce(()=>timer(this.debounceTime)),catchError(this.handleError)).subscribe(e=>this.modelSave(e)),e.valueChanges.pipe(debounce(()=>timer(250)),catchError(this.handleError)).subscribe(e=>{this.model.changedExternal||(this.model.changedExternal=!0,this.model.trigger("change"))}),e.valueChanges.forEach(e=>this.outgoingData=e)):e.valueChanges.forEach(e=>this.modelSave(e))}handleError(e){return console.error(e),e}fetchData(){return this.fetched?this.fetched:this.fetched=this.registry.fetch(Stratus.Select(this.elementRef.nativeElement),this)}dataDefer(e){if(this.subscriber=this.subscriber||e,!this.subscriber)return this.dev&&console.warn("[defer] debouncing due to empty subscriber on "+this.uid),void setTimeout(()=>{this.dev&&console.warn("[defer] debounced subscriber returned on "+this.uid),this.dataDefer(e)},250);const t=_.clone(this.incomingData),o=this.dataRef();return t!==o?o||this.data&&this.data.completed?void(t!==o&&(this.dev&&console.warn(`[subscriber] new value submitted on ${this.uid}:`,o),this.subscriber.next(o))):(this.dev&&console.warn("[defer] debouncing subscriber due to unavailable data on "+this.uid,this.data),void setTimeout(()=>{this.dev&&console.warn("[defer] debounced subscriber returned on "+this.uid),this.dataDefer(e)},250)):void 0}dataRef(){return this.model?this.incomingData=this.model.get(this.property):""}onDataChange(){this.dataDefer(this.subscriber),this.refresh()}modelSave(e){this.model.completed&&(this.model.set(this.property,e),this.debounceSave&&(this.model.changedExternal=!1),this.forceSave&&!_.isEmpty(this.model.getIdentifier())&&this.model.save())}};__decorate([Input(),__metadata("design:type",String)],JsonComponent.prototype,"target",void 0),__decorate([Input(),__metadata("design:type",String)],JsonComponent.prototype,"targetSuffix",void 0),__decorate([Input(),__metadata("design:type",Number)],JsonComponent.prototype,"id",void 0),__decorate([Input(),__metadata("design:type",Boolean)],JsonComponent.prototype,"manifest",void 0),__decorate([Input(),__metadata("design:type",Boolean)],JsonComponent.prototype,"decouple",void 0),__decorate([Input(),__metadata("design:type",Boolean)],JsonComponent.prototype,"direct",void 0),__decorate([Input(),__metadata("design:type",Object)],JsonComponent.prototype,"api",void 0),__decorate([Input(),__metadata("design:type",String)],JsonComponent.prototype,"urlRoot",void 0),__decorate([Input(),__metadata("design:type",String)],JsonComponent.prototype,"type",void 0),__decorate([Input(),__metadata("design:type",String)],JsonComponent.prototype,"property",void 0),__decorate([Input(),__metadata("design:type",String)],JsonComponent.prototype,"endpoint",void 0),JsonComponent=__decorate([Component({selector:"sa-json",templateUrl:`${localDir}/json/json.component${min}.html`}),__metadata("design:paramtypes",[DomSanitizer,ChangeDetectorRef,ElementRef,FormBuilder,MatDialog])],JsonComponent);export{JsonComponent};
@@ -120,6 +120,8 @@ sa-media-selector .shapeholder,
120
120
 
121
121
  .cdk-drag-placeholder {
122
122
  opacity: 0.3;
123
+ background: rgba(0, 0, 0, 0.4);
124
+ transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
123
125
  }
124
126
  .cdk-drag-animating {
125
127
  transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
@@ -1 +1 @@
1
- {"version":3,"sources":["packages/angular/src/media-selector/media-selector.component.scss"],"names":[],"mappings":"AACA;AAIE;AAAA;EACE;;AACA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;EACA;;AAEF;AAAA;EACE;EACA;EACA;EACA;;AAIF;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EACE;;AAIN;AAAA;EACE;EACA;;;AAIF;EACE;EACA;;;AASE;EACE;EACA;;;AAMR;AAEA;EACE;EACA;EACA;;;AAGF;AAKI;EACE;;AAKF;AAAA;EACE;EACA;;AAEF;AAAA;EAEE;EAEA;EACA;EACA;;AAIA;AAAA;EACE;;AAEF;AAAA;EACE;EACA;;AAMJ;AAAA;EAKE;EAEA;EAEA;EACA;EAIA;EAKA;EACA;EAiBA;;AAZA;AAAA;EACE;;AAGF;AAAA;EACE;;AAGF;AAAA;EACE;;AAKF;AAAA;EACE;;AAGJ;AAAA;EAIE;;AAOF;EACE;;;AAiBJ;EACE;;AAIF;EACE;;AAGF;EAIE;;AAHA;EACE;;;AAMN;EACE;EACA;EACA;;;AAIF;AAIE;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;;AAIJ;AAGE;EACE;;AAEF;EACE;;;AAIJ;AACA;EACE;;;AAEF;EACE","file":"media-selector.component.css","sourcesContent":["\n/* Styles for Both Media Selector and Media Selected Areas */\n\nsa-media-selector,\n.media-selected-box.cdk-drag-preview {\n .content-type {\n margin-bottom: 2px;\n md-icon,\n mat-icon {\n margin-right: 4px;\n height: 14px;\n width: 14px;\n min-height: 14px;\n min-width: 14px;\n }\n .content-type-name {\n font-weight: bold;\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 1px;\n }\n }\n .no-image-icon {\n md-icon,\n mat-icon {\n height: 28px;\n width: 28px;\n min-height: 28px;\n min-width: 28px;\n svg g {\n fill: #FFF;\n }\n }\n }\n .shapeholder {\n width: 100%;\n display: block;\n }\n}\n.media-selected-box.cdk-drag-preview {\n .column-title h3 {\n margin: 0 0 5px;\n font-size: 16px;\n }\n}\n\n// the dragging class appears on the\n// placeholder of what is being dragged\n.media-selector {\n .cdk-drop-list {\n &.cdk-drop-list-dragging {\n .shapeholder {\n width: 80px;\n display: block;\n }\n }\n }\n}\n\n/* Draggable Media Selected List */\n\n.media-selector-wrapper {\n background: rgba(255, 255, 255, .4);\n margin-top: 20px;\n padding: 40px;\n}\n\n/* Based on Angular Material 8+ */\n\n.media-selector {\n .media-selected {\n // Note: an ampersand appears twice in this selector\n &-list.cdk-drop-list-dragging &-box:not(.cdk-drag-placeholder) {\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n }\n }\n .media-selected,\n ul.media-selected {\n &-container {\n display:flex;\n flex-wrap: wrap;\n }\n &-list {\n //width: 1000px;\n max-width: 100%;\n //border: solid 1px #ccc;\n min-height: 60px;\n display: flex;\n flex-direction: row;\n //background: white;\n //border-radius: 4px;\n //overflow: hidden;\n &-grid {\n flex-wrap: wrap;\n }\n .shapeholder {\n width: 80px;\n display: block;\n }\n }\n }\n .media-selected,\n li.media-selected {\n &-box {\n //width: 75px;\n //height: 75px;\n //padding: 20px 10px;\n //width: 12.5%;\n padding: 4px;\n //border-right: solid 1px #ccc;\n color: rgba(0, 0, 0, 0.87);\n // FIXME: when this uses display:flex, the box collapses\n display: flex;\n flex-direction: row;\n //align-items: center;\n //justify-content: center;\n //justify-content: space-between;\n text-align: center;\n //border-radius: 4px;\n //position: relative;\n //box-sizing: border-box;\n //background: white;\n font-size: 14px;\n transition: box-shadow 200ms cubic-bezier(0, 0, 0.2, 1);\n //box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2),\n //0 2px 2px 0 rgba(0, 0, 0, 0.14),\n //0 1px 5px 0 rgba(0, 0, 0, 0.12);\n // this forces the cells to grow to fit the row\n &-grow {\n flex-grow: 1;\n }\n // this forces all cells to wrap\n &-grid {\n flex-wrap: wrap;\n }\n // this forces all cells on one line instead of wrapping\n &-row {\n flex-basis: 0;\n }\n // this is the default cursor for boxes\n cursor: pointer;\n // this changes the cursor for movable boxes\n &.cdk-drag {\n cursor: move;\n }\n }\n &-box:active {\n //box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),\n //0 8px 10px 1px rgba(0, 0, 0, 0.14),\n //0 3px 14px 2px rgba(0, 0, 0, 0.12);\n opacity: 0.6;\n }\n &-box:last-child {\n //border: none;\n }\n }\n .cdk-drop {\n &-list {\n display: flex;\n //padding-right: 10px;\n //padding-bottom: 10px;\n }\n }\n}\n\n.cdk-drag {\n &-preview {\n // Note: these are the original drag preview styles Angular+\n //box-sizing: border-box;\n //border-radius: 4px;\n //box-shadow: 2px 2px 4px rgba(0,0,0,.3)\n //box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),\n //0 8px 10px 1px rgba(0, 0, 0, 0.14),\n //0 3px 14px 2px rgba(0, 0, 0, 0.12);\n }\n &-placeholder {\n opacity: 0.3;\n //opacity: 0.7;\n //opacity: 0;\n }\n &-animating {\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n }\n // hide tooltip in preview (dragged element) and placeholder in the list\n &-preview, &-placeholder {\n .info-hover-container {\n display: none;\n }\n list-style: none;\n }\n}\n\n.custom-ghost-placeholder {\n background: rgba(0, 0, 0, .4);\n min-height: 60px;\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n}\n\n\n/* Selected List Custom */\n\nsa-media-selector,\n.media-selected-box.cdk-drag-preview {\n .column-image,\n .column-title,\n .column-action {\n float: left;\n }\n}\n\n/* Full Size */\n\n.full {\n &-width {\n width: 100%;\n }\n &-height {\n height: 100%;\n }\n}\n\n/* Text Transforms */\n.uppercase {\n text-transform: uppercase;\n}\n.lowercase {\n text-transform: lowercase;\n}\n"]}
1
+ {"version":3,"sources":["packages/angular/src/media-selector/media-selector.component.scss"],"names":[],"mappings":"AACA;AAIE;AAAA;EACE;;AACA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;EACA;;AAEF;AAAA;EACE;EACA;EACA;EACA;;AAIF;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EACE;;AAIN;AAAA;EACE;EACA;;;AAIF;EACE;EACA;;;AASE;EACE;EACA;;;AAMR;AAEA;EACE;EACA;EACA;;;AAGF;AAKI;EACE;;AAQF;AAAA;EACE;EACA;;AAEF;AAAA;EAEE;EAEA;EACA;EACA;;AAIA;AAAA;EACE;;AAEF;AAAA;EACE;EACA;;AAMJ;AAAA;EAKE;EAEA;EAEA;EACA;EAIA;EAKA;EACA;EAiBA;;AAZA;AAAA;EACE;;AAGF;AAAA;EACE;;AAGF;AAAA;EACE;;AAKF;AAAA;EACE;;AAGJ;AAAA;EAIE;;AAOF;EACE;;;AAiBJ;EACE;EAGA;EACA;;AAEF;EACE;;AAGF;EAIE;;AAHA;EACE;;;AAMN;EACE;EACA;EACA;;;AAIF;AAIE;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;;AAIJ;AAGE;EACE;;AAEF;EACE;;;AAIJ;AACA;EACE;;;AAEF;EACE","file":"media-selector.component.css","sourcesContent":["\n/* Styles for Both Media Selector and Media Selected Areas */\n\nsa-media-selector,\n.media-selected-box.cdk-drag-preview {\n .content-type {\n margin-bottom: 2px;\n md-icon,\n mat-icon {\n margin-right: 4px;\n height: 14px;\n width: 14px;\n min-height: 14px;\n min-width: 14px;\n }\n .content-type-name {\n font-weight: bold;\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 1px;\n }\n }\n .no-image-icon {\n md-icon,\n mat-icon {\n height: 28px;\n width: 28px;\n min-height: 28px;\n min-width: 28px;\n svg g {\n fill: #FFF;\n }\n }\n }\n .shapeholder {\n width: 100%;\n display: block;\n }\n}\n.media-selected-box.cdk-drag-preview {\n .column-title h3 {\n margin: 0 0 5px;\n font-size: 16px;\n }\n}\n\n// the dragging class appears on the\n// placeholder of what is being dragged\n.media-selector {\n .cdk-drop-list {\n &.cdk-drop-list-dragging {\n .shapeholder {\n width: 80px;\n display: block;\n }\n }\n }\n}\n\n/* Draggable Media Selected List */\n\n.media-selector-wrapper {\n background: rgba(255, 255, 255, .4);\n margin-top: 20px;\n padding: 40px;\n}\n\n/* Based on Angular Material 8+ */\n\n.media-selector {\n .media-selected {\n // Note: an ampersand appears twice in this selector\n &-list.cdk-drop-list-dragging &-box:not(.cdk-drag-placeholder) {\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n }\n }\n // Note: I added a selector for the cdk-drag-placeholder class because we lose the outer container when dragging,\n // but it doesn't work.\n //.cdk-drag-placeholder,\n .media-selected,\n ul.media-selected {\n &-container {\n display:flex;\n flex-wrap: wrap;\n }\n &-list {\n //width: 1000px;\n max-width: 100%;\n //border: solid 1px #ccc;\n min-height: 60px;\n display: flex;\n flex-direction: row;\n //background: white;\n //border-radius: 4px;\n //overflow: hidden;\n &-grid {\n flex-wrap: wrap;\n }\n .shapeholder {\n width: 80px;\n display: block;\n }\n }\n }\n .media-selected,\n li.media-selected {\n &-box {\n //width: 75px;\n //height: 75px;\n //padding: 20px 10px;\n //width: 12.5%;\n padding: 4px;\n //border-right: solid 1px #ccc;\n color: rgba(0, 0, 0, 0.87);\n // FIXME: when this uses display:flex, the box collapses\n display: flex;\n flex-direction: row;\n //align-items: center;\n //justify-content: center;\n //justify-content: space-between;\n text-align: center;\n //border-radius: 4px;\n //position: relative;\n //box-sizing: border-box;\n //background: white;\n font-size: 14px;\n transition: box-shadow 200ms cubic-bezier(0, 0, 0.2, 1);\n //box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2),\n //0 2px 2px 0 rgba(0, 0, 0, 0.14),\n //0 1px 5px 0 rgba(0, 0, 0, 0.12);\n // this forces the cells to grow to fit the row\n &-grow {\n flex-grow: 1;\n }\n // this forces all cells to wrap\n &-grid {\n flex-wrap: wrap;\n }\n // this forces all cells on one line instead of wrapping\n &-row {\n flex-basis: 0;\n }\n // this is the default cursor for boxes\n cursor: pointer;\n // this changes the cursor for movable boxes\n &.cdk-drag {\n cursor: move;\n }\n }\n &-box:active {\n //box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),\n //0 8px 10px 1px rgba(0, 0, 0, 0.14),\n //0 3px 14px 2px rgba(0, 0, 0, 0.12);\n opacity: 0.6;\n }\n &-box:last-child {\n //border: none;\n }\n }\n .cdk-drop {\n &-list {\n display: flex;\n //padding-right: 10px;\n //padding-bottom: 10px;\n }\n }\n}\n\n.cdk-drag {\n &-preview {\n // Note: these are the original drag preview styles Angular+\n //box-sizing: border-box;\n //border-radius: 4px;\n //box-shadow: 2px 2px 4px rgba(0,0,0,.3)\n //box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),\n //0 8px 10px 1px rgba(0, 0, 0, 0.14),\n //0 3px 14px 2px rgba(0, 0, 0, 0.12);\n }\n &-placeholder {\n opacity: 0.3;\n //opacity: 0.7;\n //opacity: 0;\n background: rgba(0, 0, 0, .4);\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n }\n &-animating {\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n }\n // hide tooltip in preview (dragged element) and placeholder in the list\n &-preview, &-placeholder {\n .info-hover-container {\n display: none;\n }\n list-style: none;\n }\n}\n\n.custom-ghost-placeholder {\n background: rgba(0, 0, 0, .4);\n min-height: 60px;\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n}\n\n\n/* Selected List Custom */\n\nsa-media-selector,\n.media-selected-box.cdk-drag-preview {\n .column-image,\n .column-title,\n .column-action {\n float: left;\n }\n}\n\n/* Full Size */\n\n.full {\n &-width {\n width: 100%;\n }\n &-height {\n height: 100%;\n }\n}\n\n/* Text Transforms */\n.uppercase {\n text-transform: uppercase;\n}\n.lowercase {\n text-transform: lowercase;\n}\n"]}
@@ -33,7 +33,11 @@
33
33
  *ngFor="let selectedModel of dataSub | async; let i = index"
34
34
  [cdkDropListData]="i"
35
35
  >
36
- <div class="media-selected-list-row media-selected-box media-selected-box-grid"
36
+ <!--
37
+ Note: I've added the media-selected-list class to this element, which is not intentional for this design,
38
+ is a temporary solution to the issue of broken CSS when this item is dragged out of the parent above.
39
+ -->
40
+ <div class="media-selected-list-row media-selected-box media-selected-box-grid media-selected-list"
37
41
  cdkDrag
38
42
  [cdkDragData]="i"
39
43
  (cdkDragEntered)="dragEntered($event)"
@@ -1 +1 @@
1
- .media-selected-box.cdk-drag-preview .content-type,sa-media-selector .content-type{margin-bottom:2px}.media-selected-box.cdk-drag-preview .content-type mat-icon,.media-selected-box.cdk-drag-preview .content-type md-icon,sa-media-selector .content-type mat-icon,sa-media-selector .content-type md-icon{margin-right:4px;height:14px;width:14px;min-height:14px;min-width:14px}.media-selected-box.cdk-drag-preview .content-type .content-type-name,sa-media-selector .content-type .content-type-name{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:1px}.media-selected-box.cdk-drag-preview .no-image-icon mat-icon,.media-selected-box.cdk-drag-preview .no-image-icon md-icon,sa-media-selector .no-image-icon mat-icon,sa-media-selector .no-image-icon md-icon{height:28px;width:28px;min-height:28px;min-width:28px}.media-selected-box.cdk-drag-preview .no-image-icon mat-icon svg g,.media-selected-box.cdk-drag-preview .no-image-icon md-icon svg g,sa-media-selector .no-image-icon mat-icon svg g,sa-media-selector .no-image-icon md-icon svg g{fill:#fff}.media-selected-box.cdk-drag-preview .shapeholder,sa-media-selector .shapeholder{width:100%;display:block}.media-selected-box.cdk-drag-preview .column-title h3{margin:0 0 5px;font-size:16px}.media-selector .cdk-drop-list.cdk-drop-list-dragging .shapeholder{width:80px;display:block}.media-selector-wrapper{background:rgba(255,255,255,.4);margin-top:20px;padding:40px}.media-selector .media-selected-list.cdk-drop-list-dragging .media-selector .media-selected-box:not(.cdk-drag-placeholder){transition:transform 250ms cubic-bezier(0,0,.2,1)}.media-selector .media-selected-container,.media-selector ul.media-selected-container{display:flex;flex-wrap:wrap}.media-selector .media-selected-list,.media-selector ul.media-selected-list{max-width:100%;min-height:60px;display:flex;flex-direction:row}.media-selector .media-selected-list-grid,.media-selector ul.media-selected-list-grid{flex-wrap:wrap}.media-selector .media-selected-list .shapeholder,.media-selector ul.media-selected-list .shapeholder{width:80px;display:block}.media-selector .media-selected-box,.media-selector li.media-selected-box{padding:4px;color:rgba(0,0,0,.87);display:flex;flex-direction:row;text-align:center;font-size:14px;transition:box-shadow .2s cubic-bezier(0,0,.2,1);cursor:pointer}.media-selector .media-selected-box-grow,.media-selector li.media-selected-box-grow{flex-grow:1}.media-selector .media-selected-box-grid,.media-selector li.media-selected-box-grid{flex-wrap:wrap}.media-selector .media-selected-box-row,.media-selector li.media-selected-box-row{flex-basis:0}.media-selector .media-selected-box.cdk-drag,.media-selector li.media-selected-box.cdk-drag{cursor:move}.media-selector .media-selected-box:active,.media-selector li.media-selected-box:active{opacity:.6}.media-selector .cdk-drop-list{display:flex}.cdk-drag-placeholder{opacity:.3}.cdk-drag-animating{transition:transform 250ms cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder,.cdk-drag-preview{list-style:none}.cdk-drag-placeholder .info-hover-container,.cdk-drag-preview .info-hover-container{display:none}.custom-ghost-placeholder{background:rgba(0,0,0,.4);min-height:60px;transition:transform 250ms cubic-bezier(0,0,.2,1)}.media-selected-box.cdk-drag-preview .column-action,.media-selected-box.cdk-drag-preview .column-image,.media-selected-box.cdk-drag-preview .column-title,sa-media-selector .column-action,sa-media-selector .column-image,sa-media-selector .column-title{float:left}.full-width{width:100%}.full-height{height:100%}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}
1
+ .media-selected-box.cdk-drag-preview .content-type,sa-media-selector .content-type{margin-bottom:2px}.media-selected-box.cdk-drag-preview .content-type mat-icon,.media-selected-box.cdk-drag-preview .content-type md-icon,sa-media-selector .content-type mat-icon,sa-media-selector .content-type md-icon{margin-right:4px;height:14px;width:14px;min-height:14px;min-width:14px}.media-selected-box.cdk-drag-preview .content-type .content-type-name,sa-media-selector .content-type .content-type-name{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:1px}.media-selected-box.cdk-drag-preview .no-image-icon mat-icon,.media-selected-box.cdk-drag-preview .no-image-icon md-icon,sa-media-selector .no-image-icon mat-icon,sa-media-selector .no-image-icon md-icon{height:28px;width:28px;min-height:28px;min-width:28px}.media-selected-box.cdk-drag-preview .no-image-icon mat-icon svg g,.media-selected-box.cdk-drag-preview .no-image-icon md-icon svg g,sa-media-selector .no-image-icon mat-icon svg g,sa-media-selector .no-image-icon md-icon svg g{fill:#fff}.media-selected-box.cdk-drag-preview .shapeholder,sa-media-selector .shapeholder{width:100%;display:block}.media-selected-box.cdk-drag-preview .column-title h3{margin:0 0 5px;font-size:16px}.media-selector .cdk-drop-list.cdk-drop-list-dragging .shapeholder{width:80px;display:block}.media-selector-wrapper{background:rgba(255,255,255,.4);margin-top:20px;padding:40px}.media-selector .media-selected-list.cdk-drop-list-dragging .media-selector .media-selected-box:not(.cdk-drag-placeholder){transition:transform 250ms cubic-bezier(0,0,.2,1)}.media-selector .media-selected-container,.media-selector ul.media-selected-container{display:flex;flex-wrap:wrap}.media-selector .media-selected-list,.media-selector ul.media-selected-list{max-width:100%;min-height:60px;display:flex;flex-direction:row}.media-selector .media-selected-list-grid,.media-selector ul.media-selected-list-grid{flex-wrap:wrap}.media-selector .media-selected-list .shapeholder,.media-selector ul.media-selected-list .shapeholder{width:80px;display:block}.media-selector .media-selected-box,.media-selector li.media-selected-box{padding:4px;color:rgba(0,0,0,.87);display:flex;flex-direction:row;text-align:center;font-size:14px;transition:box-shadow .2s cubic-bezier(0,0,.2,1);cursor:pointer}.media-selector .media-selected-box-grow,.media-selector li.media-selected-box-grow{flex-grow:1}.media-selector .media-selected-box-grid,.media-selector li.media-selected-box-grid{flex-wrap:wrap}.media-selector .media-selected-box-row,.media-selector li.media-selected-box-row{flex-basis:0}.media-selector .media-selected-box.cdk-drag,.media-selector li.media-selected-box.cdk-drag{cursor:move}.media-selector .media-selected-box:active,.media-selector li.media-selected-box:active{opacity:.6}.media-selector .cdk-drop-list{display:flex}.cdk-drag-placeholder{opacity:.3;background:rgba(0,0,0,.4);transition:transform 250ms cubic-bezier(0,0,.2,1)}.cdk-drag-animating{transition:transform 250ms cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder,.cdk-drag-preview{list-style:none}.cdk-drag-placeholder .info-hover-container,.cdk-drag-preview .info-hover-container{display:none}.custom-ghost-placeholder{background:rgba(0,0,0,.4);min-height:60px;transition:transform 250ms cubic-bezier(0,0,.2,1)}.media-selected-box.cdk-drag-preview .column-action,.media-selected-box.cdk-drag-preview .column-image,.media-selected-box.cdk-drag-preview .column-title,sa-media-selector .column-action,sa-media-selector .column-image,sa-media-selector .column-title{float:left}.full-width{width:100%}.full-height{height:100%}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}
@@ -1,4 +1,4 @@
1
- <mat-progress-bar mode="indeterminate" *ngIf="!styled"></mat-progress-bar><div class="media-selector" *ngIf="styled"><div class="media-component section-container selected-container border-default border-default-all border-radius-default"><p class="small-all-caps selected-media-label" [textContent]="'Selected ' + (type || 'Items')"></p><div class="media-content media-selected-container" cdkDropListGroup><div class="media-selected-list media-selected-list-grid" cdkDropList *ngFor="let selectedModel of dataSub | async; let i = index" [cdkDropListData]="i"><div class="media-selected-list-row media-selected-box media-selected-box-grid" cdkDrag [cdkDragData]="i" (cdkDragEntered)="dragEntered($event)"><div class="media-item selected-media-item" [id]="'libb_' + _.get(selectedModel, 'id') || id || uid" [ngClass]="{
1
+ <mat-progress-bar mode="indeterminate" *ngIf="!styled"></mat-progress-bar><div class="media-selector" *ngIf="styled"><div class="media-component section-container selected-container border-default border-default-all border-radius-default"><p class="small-all-caps selected-media-label" [textContent]="'Selected ' + (type || 'Items')"></p><div class="media-content media-selected-container" cdkDropListGroup><div class="media-selected-list media-selected-list-grid" cdkDropList *ngFor="let selectedModel of dataSub | async; let i = index" [cdkDropListData]="i"><div class="media-selected-list-row media-selected-box media-selected-box-grid media-selected-list" cdkDrag [cdkDragData]="i" (cdkDragEntered)="dragEntered($event)"><div class="media-item selected-media-item" [id]="'libb_' + _.get(selectedModel, 'id') || id || uid" [ngClass]="{
2
2
  'image-thumb': _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('image'),
3
3
  'video-thumb' : _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('video'),
4
4
  'audio-thumb' : _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('audio'),
@@ -74,6 +74,9 @@ sa-media-selector,
74
74
  transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
75
75
  }
76
76
  }
77
+ // Note: I added a selector for the cdk-drag-placeholder class because we lose the outer container when dragging,
78
+ // but it doesn't work.
79
+ //.cdk-drag-placeholder,
77
80
  .media-selected,
78
81
  ul.media-selected {
79
82
  &-container {
@@ -177,6 +180,8 @@ sa-media-selector,
177
180
  opacity: 0.3;
178
181
  //opacity: 0.7;
179
182
  //opacity: 0;
183
+ background: rgba(0, 0, 0, .4);
184
+ transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
180
185
  }
181
186
  &-animating {
182
187
  transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
@@ -121,7 +121,7 @@
121
121
  </mat-form-field>
122
122
 
123
123
  <mat-checkbox [(ngModel)]="browserTarget"
124
- (ngModelChange)="onBrowserTargetChange($event)">
124
+ (change)="onBrowserTargetChange($event)">
125
125
  Open in new window
126
126
  </mat-checkbox>
127
127
 
@@ -84,6 +84,7 @@ System.register(["@angular/core", "@angular/forms", "@angular/cdk/drag-drop", "@
84
84
  });
85
85
  this.tree = this.data.tree;
86
86
  this.treeNode = this.data.treeNode;
87
+ this.browserTarget = this.data.browserTarget !== null;
87
88
  this.backend = this.data.backend;
88
89
  this.iconRegistry = this.data.iconRegistry;
89
90
  this.dialogContentForm = this.fb.group({
@@ -148,7 +149,7 @@ System.register(["@angular/core", "@angular/forms", "@angular/cdk/drag-drop", "@
148
149
  this.dialogRef.close();
149
150
  }
150
151
  onBrowserTargetChange($event) {
151
- this.data.browserTarget = this.browserTarget ? '_blank' : null;
152
+ this.data.browserTarget = $event.checked ? '_blank' : null;
152
153
  }
153
154
  displayContentText(content) {
154
155
  if (!content) {
@@ -1 +1 @@
1
- {"version":3,"sources":["tree-dialog.component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAuFM,SAAS,GAAG,oBAAoB,CAAA;YAChC,UAAU,GAAG,aAAa,CAAA;YAC1B,gBAAgB,GAAG,MAAM,CAAA;YAGzB,GAAG,GAAG,CAAC,oBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;YAClC,QAAQ,GAAG,GAAG,iBAAO,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAA;YAUzH,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,0CAAmB;gBAiDxD,YACW,SAA4C,EACnB,IAAgB,EACxC,EAAe,EAEb,GAAsB;oBAGhC,KAAK,EAAE,CAAA;oBAPA,cAAS,GAAT,SAAS,CAAmC;oBACnB,SAAI,GAAJ,IAAI,CAAY;oBACxC,OAAE,GAAF,EAAE,CAAa;oBAEb,QAAG,GAAH,GAAG,CAAmB;oBAnDpC,UAAK,GAAG,UAAU,GAAG,YAAY,CAAA;oBAIjC,kBAAa,GAAG,KAAK,CAAA;oBACrB,gBAAW,GAAG,KAAK,CAAA;oBACnB,aAAQ,GAAG,KAAK,CAAA;oBAGhB,MAAC,GAAG,gBAAC,CAAA;oBACL,YAAO,GAAG,iBAAO,CAAA;oBAmBjB,YAAO,GAAG,cAAc,CAAA;oBACxB,2BAAsB,GAAG,KAAK,CAAA;oBAC9B,UAAK,GAAG,EAAE,CAAA;oBACV,qBAAgB,GAAG,KAAK,CAAA;oBACxB,oBAAe,GAAG,KAAK,CAAA;oBAEvB,gCAA2B,GAAG,yGAAyG,CAAA;gBAuBvI,CAAC;gBAGD,QAAQ;oBAEJ,IAAI,CAAC,GAAG,GAAG,gBAAC,CAAC,QAAQ,CAAC,MAAM,gBAAC,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;oBACjE,iBAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;oBAKlC,iBAAO,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,QAAQ,IAAI,gBAAgB,IAAI,UAAU,aAAa,GAAG,MAAM,CAAC;yBAC3F,IAAI,CAAC,GAAG,EAAE;wBACP,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;oBAExB,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;wBAChB,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,IAAI,CAAC,CAAA;wBACjE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;wBAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;oBAExB,CAAC,CAAC,CAAA;oBAGN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;oBAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAA;oBAGlC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;oBAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAA;oBAa1C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;wBACnC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI;qBAClD,CAAC,CAAA;oBACF,IAAI,CAAC,iBAAiB;yBACjB,GAAG,CAAC,sBAAsB,CAAC;yBAC3B,YAAY;yBACZ,IAAI,CACD,wBAAY,CAAC,GAAG,CAAC,EACjB,eAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,EACvC,qBAAS,CAAC,CAAC,KAAU,EAAE,EAAE;wBACjB,IAAI,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;4BACnB,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;yBAC1D;6BAAM;4BAEH,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;4BACzB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAA;yBACvB;wBACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;6BACvE,IAAI,CACD,oBAAQ,CAAC,GAAG,EAAE;4BACV,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;4BAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;wBAC/B,CAAC,CAAC,CACL,CAAA;oBACT,CAAC,CACJ,CACJ;yBACA,SAAS,CAAC,CAAC,QAA6C,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAQ/F,IAAI,CAAC,OAAO;yBACP,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;yBACvB,IAAI,CACD,oBAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAChD;yBACA,SAAS,CAAC,CAAC,QAA6C,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAG/F,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;wBAC3C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAA;wBAClC,IAAI,CAAC,OAAO;6BACP,GAAG,CACA,IAAI,CAAC,WAAW,CACZ,IAAI,EACJ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CACvB,CACJ;6BACA,IAAI,CACD,oBAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,CACtD;6BACA,SAAS,CAAC,CAAC,QAA6C,EAAE,EAAE;4BACzD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gCACrE,OAAO,IAAI,CAAA;6BACd;4BACD,MAAM,OAAO,GAAG,gBAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAA;4BAChE,IAAI,gBAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gCACtE,OAAO,IAAI,CAAA;6BACd;4BAED,IAAI,CAAC,aAAa,GAAG,OAAO,CAAA;4BAC5B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAA;4BACnC,IAAI,CAAC,iBAAiB;iCACjB,GAAG,CAAC,sBAAsB,CAAC;iCAC3B,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;4BACnC,IAAI,CAAC,OAAO,EAAE,CAAA;4BACd,OAAO,IAAI,CAAC,aAAa,CAAA;wBAC7B,CAAC,CAAC,CAAA;qBACT;oBAsCD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;gBAK7B,CAAC;gBAED,WAAW;oBACP,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;gBAC3B,CAAC;gBAEM,OAAO;oBACV,IAAI,IAAI,CAAC,WAAW,EAAE;wBAClB,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;qBACjD;oBACD,OAAO,KAAK,CAAC,OAAO,EAAE,CAAA;gBAC1B,CAAC;gBAED,aAAa;oBACT,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;gBAI1B,CAAC;gBAED,qBAAqB,CAAC,MAAW;oBAC7B,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;gBAClE,CAAC;gBAED,kBAAkB,CAAC,OAAsB;oBAErC,IAAI,CAAC,OAAO,EAAE;wBACV,OAAM;qBACT;oBAED,MAAM,OAAO,GAAG,gBAAC,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;oBAChD,MAAM,WAAW,GAAG,CAAC,gBAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,cAAc,CAAA;oBAE/E,MAAM,SAAS,GAAG,gBAAC,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;oBACtC,MAAM,aAAa,GAAG,CAAC,gBAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;oBAEhF,OAAO,CAAC,gBAAC,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,aAAa,CAAC,GAAG,WAAW,CAAA;gBAC3E,CAAC;gBAQO,aAAa,CAAC,QAA4C;oBAC9D,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBACrE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;wBAIzB,OAAO,IAAI,CAAC,eAAe,CAAA;qBAC9B;oBACD,MAAM,OAAO,GAAG,gBAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAA;oBAChE,IAAI,gBAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;wBAC/C,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;wBAIzB,OAAO,IAAI,CAAC,eAAe,CAAA;qBAC9B;oBAED,IAAI,CAAC,eAAe,GAAG,OAAO,CAAA;oBAI9B,OAAO,IAAI,CAAC,eAAe,CAAA;gBAC/B,CAAC;gBAEM,OAAO;oBACV,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;yBAClB,WAAW,EAAE;yBACb,SAAS,CAAC,CAAC,YAAqB,EAAE,EAAE;wBACjC,IAAI,CAAC,YAAY,EAAE;4BACf,OAAM;yBACT;wBACD,IAAI,CAAC,aAAa,EAAE,CAAA;oBACxB,CAAC,CAAC,CAAA;gBACV,CAAC;gBAEM,YAAY;oBACf,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAA;gBAChC,CAAC;gBAEM,QAAQ;oBACX,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAA;gBAC5B,CAAC;gBAEM,UAAU,CAAC,OAAsB;oBACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;wBACpB,OAAO,KAAK,CAAA;qBACf;oBACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAA;gBAC9C,CAAC;gBAEM,MAAM,CAAC,GAAW,EAAE,OAAqB;oBAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;gBACzC,CAAC;gBAED,WAAW,CAAC,KAAc,EAAE,EAAkB;oBAC1C,KAAK,GAAG,CAAC,CAAC,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;oBAC7D,EAAE,GAAG,CAAC,gBAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAA;oBACvD,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE,UAAU,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,2BAA2B,MAAM,KAAK,EAAE,CAAA;gBACpG,CAAC;gBAED,aAAa,CAAC,IAA2B,EAAE,QAAwB;oBAC/D,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;wBACvB,OAAO,IAAI,CAAA;qBACd;oBACD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;wBAC3B,OAAO,IAAI,CAAA;qBACd;oBACD,MAAM,WAAW,GAAG,gBAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAA;oBACzD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;wBAEd,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;wBAC7B,OAAO,WAAW,CAAA;qBACrB;oBACD,2BAAe,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;oBACtC,OAAO,WAAW,CAAA;gBACtB,CAAC;aACJ,CAAA;YApVY,mBAAmB;gBAL/B,gBAAS,CAAC;oBACP,QAAQ,EAAE,MAAM,UAAU,EAAE;oBAC5B,WAAW,EAAE,GAAG,QAAQ,IAAI,gBAAgB,IAAI,UAAU,aAAa,GAAG,OAAO;iBAEpF,CAAC;gBAoDO,WAAA,aAAM,CAAC,wBAAe,CAAC,CAAA;iDADN,qBAAY,UAElB,mBAAW;oBAER,wBAAiB;eAtD3B,mBAAmB,CAoV/B;;QACD,CAAC","file":"tree-dialog.component.js"}
1
+ {"version":3,"sources":["tree-dialog.component.ts"],"names":[],"mappings":"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","file":"tree-dialog.component.js"}
@@ -1 +1 @@
1
- <h1 mat-dialog-title>Menu Link Editor</h1><div class="tree-dialog-content" *ngIf="isInitialized" mat-dialog-content><mat-form-field class="form-field"><input #nameInput matInput type="text" placeholder="Name" [(ngModel)]="data.name"></mat-form-field><h4><label id="link-type-label">Link Type:</label></h4><mat-radio-group class="radio-group" aria-labelledby="link-type-label" [(ngModel)]="data.target"><mat-radio-button class="radio-button" value="content">Website Page</mat-radio-button><mat-radio-button class="radio-button" value="url">Custom Link</mat-radio-button></mat-radio-group><form class="dialog-form" [formGroup]="dialogContentForm"><ng-container *ngIf="data.target == 'content'"><mat-form-field class="form-field"><input matInput placeholder="Link Content" aria-label="Link Content" [matAutocomplete]="auto" formControlName="contentSelectorInput"></mat-form-field><mat-autocomplete autoActiveFirstOption #auto="matAutocomplete" [displayWith]="displayContentText"><mat-option *ngIf="isContentLoading" class="is-loading"><mat-progress-bar mode="indeterminate"></mat-progress-bar></mat-option><ng-container *ngIf="!isContentLoading"><mat-option *ngFor="let model of filteredContent" [value]="model"><mat-icon aria-hidden="true" *ngIf="_.get(model, 'contentType.iconResourcePath')" [svgIcon]="getSvg(Stratus.BaseUrl + _.get(model, 'contentType.iconResourcePath')) | async">Icon</mat-icon>{{(model && model.version) ? model.version.title : 'Untitled'}} <small *ngIf="model.routing && model.routing.length">{{'/' + model.routing[0].url}}</small></mat-option></ng-container></mat-autocomplete></ng-container></form><mat-form-field class="form-field" [style.width.px]="320" *ngIf="data.target == 'url'"><input matInput type="text" placeholder="URL" [(ngModel)]="data.url"> <a mat-button *ngIf="data.url" matSuffix mat-icon-button aria-label="Clear" (click)="data.url=''"><mat-icon>close</mat-icon></a></mat-form-field><mat-checkbox [(ngModel)]="browserTarget" (ngModelChange)="onBrowserTargetChange($event)">Open in new window</mat-checkbox><h4>Actions:</h4><a mat-button class="svg-grey" (click)="destroy()"><mat-icon svgIcon="tree_delete" aria-hidden="false" aria-label="Delete Item">Delete</mat-icon></a><a mat-button class="svg-grey" [class.visibility-off]="data.model.get('status') === 0" (click)="toggleStatus()"><mat-icon svgIcon="tree_visibility" aria-hidden="false" aria-label="Toggle Visibility">Visibility</mat-icon></a><a mat-button class="svg-grey" [disabled]="!data.id" (click)="addChild()"><mat-icon svgIcon="tree_add" aria-hidden="false" aria-label="Add Child">Add Child</mat-icon></a><mat-divider></mat-divider></div><div mat-dialog-actions><a mat-button (click)="onCancelClick()">Cancel </a><a mat-button [mat-dialog-close]="data" cdkFocusInitial>Ok</a></div>
1
+ <h1 mat-dialog-title>Menu Link Editor</h1><div class="tree-dialog-content" *ngIf="isInitialized" mat-dialog-content><mat-form-field class="form-field"><input #nameInput matInput type="text" placeholder="Name" [(ngModel)]="data.name"></mat-form-field><h4><label id="link-type-label">Link Type:</label></h4><mat-radio-group class="radio-group" aria-labelledby="link-type-label" [(ngModel)]="data.target"><mat-radio-button class="radio-button" value="content">Website Page</mat-radio-button><mat-radio-button class="radio-button" value="url">Custom Link</mat-radio-button></mat-radio-group><form class="dialog-form" [formGroup]="dialogContentForm"><ng-container *ngIf="data.target == 'content'"><mat-form-field class="form-field"><input matInput placeholder="Link Content" aria-label="Link Content" [matAutocomplete]="auto" formControlName="contentSelectorInput"></mat-form-field><mat-autocomplete autoActiveFirstOption #auto="matAutocomplete" [displayWith]="displayContentText"><mat-option *ngIf="isContentLoading" class="is-loading"><mat-progress-bar mode="indeterminate"></mat-progress-bar></mat-option><ng-container *ngIf="!isContentLoading"><mat-option *ngFor="let model of filteredContent" [value]="model"><mat-icon aria-hidden="true" *ngIf="_.get(model, 'contentType.iconResourcePath')" [svgIcon]="getSvg(Stratus.BaseUrl + _.get(model, 'contentType.iconResourcePath')) | async">Icon</mat-icon>{{(model && model.version) ? model.version.title : 'Untitled'}} <small *ngIf="model.routing && model.routing.length">{{'/' + model.routing[0].url}}</small></mat-option></ng-container></mat-autocomplete></ng-container></form><mat-form-field class="form-field" [style.width.px]="320" *ngIf="data.target == 'url'"><input matInput type="text" placeholder="URL" [(ngModel)]="data.url"> <a mat-button *ngIf="data.url" matSuffix mat-icon-button aria-label="Clear" (click)="data.url=''"><mat-icon>close</mat-icon></a></mat-form-field><mat-checkbox [(ngModel)]="browserTarget" (change)="onBrowserTargetChange($event)">Open in new window</mat-checkbox><h4>Actions:</h4><a mat-button class="svg-grey" (click)="destroy()"><mat-icon svgIcon="tree_delete" aria-hidden="false" aria-label="Delete Item">Delete</mat-icon></a><a mat-button class="svg-grey" [class.visibility-off]="data.model.get('status') === 0" (click)="toggleStatus()"><mat-icon svgIcon="tree_visibility" aria-hidden="false" aria-label="Toggle Visibility">Visibility</mat-icon></a><a mat-button class="svg-grey" [disabled]="!data.id" (click)="addChild()"><mat-icon svgIcon="tree_add" aria-hidden="false" aria-label="Add Child">Add Child</mat-icon></a><mat-divider></mat-divider></div><div mat-dialog-actions><a mat-button (click)="onCancelClick()">Cancel </a><a mat-button [mat-dialog-close]="data" cdkFocusInitial>Ok</a></div>
@@ -1 +1 @@
1
- System.register(["@angular/core","@angular/forms","@angular/cdk/drag-drop","@angular/material/dialog","rxjs/operators","lodash","@stratusjs/runtime/stratus","@stratusjs/core/environment","../core/responsive.component"],function(t,e){"use strict";var i,n,s,o,r,a,l,d,u,h,c,f,g=this&&this.__decorate||function(t,e,i,n){var s,o=arguments.length,r=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(r=(o<3?s(r):o>3?s(e,i,r):s(e,i))||r);return o>3&&r&&Object.defineProperty(e,i,r),r},p=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},y=this&&this.__param||function(t,e){return function(i,n){e(i,n,t)}};e&&e.id;return{setters:[function(t){i=t},function(t){n=t},function(t){s=t},function(t){o=t},function(t){r=t},function(t){a=t},function(t){l=t},function(t){d=t},function(t){u=t}],execute:function(){"@stratusjs/angular","tree-dialog","tree",h=d.cookie("env")?"":".min",c=`${l.Stratus.BaseUrl}${boot.configuration.paths["@stratusjs/angular/*"].replace(/[^/]*$/,"").replace(/\/dist\/$/,"/src/")}`,f=class extends u.ResponsiveComponent{constructor(t,e,i,n){super(),this.dialogRef=t,this.data=e,this.fb=i,this.ref=n,this.title="tree-dialog_component",this.isInitialized=!1,this.isDestroyed=!1,this.isStyled=!1,this._=a.default,this.Stratus=l.Stratus,this.apiBase="/Api/Content",this.isSingleContentLoading=!1,this.limit=20,this.isContentLoading=!1,this.isContentLoaded=!1,this.basicContentQueryAttributes="options[isContent]=null&options[isCollection]=null&options[showRoutable]=true&options[showRouting]=true"}ngOnInit(){this.uid=a.default.uniqueId(`sa_${a.default.snakeCase("tree-dialog")}_component_`),l.Stratus.Instances[this.uid]=this,l.Stratus.Internals.CssLoader(`${c}/tree/tree-dialog.component${h}.css`).then(()=>{this.isStyled=!0}).catch(t=>{console.warn("Issue detected in CSS Loader for Component:",this),console.error(t),this.isStyled=!0}),this.tree=this.data.tree,this.treeNode=this.data.treeNode,this.backend=this.data.backend,this.iconRegistry=this.data.iconRegistry,this.dialogContentForm=this.fb.group({contentSelectorInput:this.data.content||null}),this.dialogContentForm.get("contentSelectorInput").valueChanges.pipe(r.debounceTime(300),r.tap(()=>this.isContentLoading=!0),r.switchMap(t=>(a.default.isString(t)?this.lastContentSelectorQuery=this.getQueryUrl(t):(this.data.content=t,this.data.url=null),this.backend.get(this.lastContentSelectorQuery||this.getQueryUrl()).pipe(r.finalize(()=>{this.isContentLoading=!1,this.isContentLoaded=!0}))))).subscribe(t=>this.handleContent(t)),this.backend.get(this.getQueryUrl()).pipe(r.finalize(()=>this.isContentLoading=!1)).subscribe(t=>this.handleContent(t)),this.data.content&&this.data.content.id&&(this.isSingleContentLoading=!0,this.backend.get(this.getQueryUrl(null,this.data.content.id)).pipe(r.finalize(()=>this.isSingleContentLoading=!1)).subscribe(t=>{if(!t.ok||200!==t.status||a.default.isEmpty(t.body))return null;const e=a.default.get(t.body,"payload")||t.body;return a.default.isEmpty(e)||Array.isArray(e)||!a.default.isObject(e)?null:(this.contentEntity=e,this.isSingleContentLoading=!1,this.dialogContentForm.get("contentSelectorInput").patchValue(this.contentEntity),this.refresh(),this.contentEntity)})),this.isInitialized=!0}ngOnDestroy(){this.isDestroyed=!0}refresh(){return this.isDestroyed?new Promise(t=>t()):super.refresh()}onCancelClick(){this.dialogRef.close()}onBrowserTargetChange(t){this.data.browserTarget=this.browserTarget?"_blank":null}displayContentText(t){if(!t)return;const e=a.default.get(t,"routing[0].url"),i=a.default.isUndefined(e)?" (No route!)":` (/${e})`,n=a.default.get(t,"id"),s=a.default.isUndefined(n)?null:"Content: "+n;return(a.default.get(t,"version.title")||s)+i}handleContent(t){if(!t.ok||200!==t.status||a.default.isEmpty(t.body))return this.filteredContent=[],this.filteredContent;const e=a.default.get(t.body,"payload")||t.body;return a.default.isEmpty(e)||!Array.isArray(e)?(this.filteredContent=[],this.filteredContent):(this.filteredContent=e,this.filteredContent)}destroy(){this.treeNode.destroy().afterClosed().subscribe(t=>{t&&this.onCancelClick()})}toggleStatus(){this.treeNode.toggleStatus()}addChild(){this.treeNode.addChild()}isSelected(t){return!!this.data.content&&this.data.content.id===t.id}getSvg(t,e){return this.tree.getSvg(t,e)}getQueryUrl(t,e){return t=!a.default.isString(t)||a.default.isEmpty(t)?"":t,e=a.default.isString(e)||a.default.isNumber(e)?"/"+e:"",`${this.apiBase}${e}?limit=${this.limit}&${this.basicContentQueryAttributes}&q=${t}`}selectedOnTop(t,e){if(!t||!t.length)return t;if(!e||!e.id)return t;const i=a.default.clone(t),n=t.findIndex(t=>t.id===e.id);return-1===n?(i.unshift(e),i):(s.moveItemInArray(i,n,0),i)}},f=g([i.Component({selector:"sa-tree-dialog",templateUrl:`${c}/tree/tree-dialog.component${h}.html`}),y(1,i.Inject(o.MAT_DIALOG_DATA)),p("design:paramtypes",[o.MatDialogRef,Object,n.FormBuilder,i.ChangeDetectorRef])],f),t("TreeDialogComponent",f)}}});
1
+ System.register(["@angular/core","@angular/forms","@angular/cdk/drag-drop","@angular/material/dialog","rxjs/operators","lodash","@stratusjs/runtime/stratus","@stratusjs/core/environment","../core/responsive.component"],function(t,e){"use strict";var i,n,s,o,r,a,l,d,u,h,c,f,g=this&&this.__decorate||function(t,e,i,n){var s,o=arguments.length,r=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(r=(o<3?s(r):o>3?s(e,i,r):s(e,i))||r);return o>3&&r&&Object.defineProperty(e,i,r),r},p=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},y=this&&this.__param||function(t,e){return function(i,n){e(i,n,t)}};e&&e.id;return{setters:[function(t){i=t},function(t){n=t},function(t){s=t},function(t){o=t},function(t){r=t},function(t){a=t},function(t){l=t},function(t){d=t},function(t){u=t}],execute:function(){"@stratusjs/angular","tree-dialog","tree",h=d.cookie("env")?"":".min",c=`${l.Stratus.BaseUrl}${boot.configuration.paths["@stratusjs/angular/*"].replace(/[^/]*$/,"").replace(/\/dist\/$/,"/src/")}`,f=class extends u.ResponsiveComponent{constructor(t,e,i,n){super(),this.dialogRef=t,this.data=e,this.fb=i,this.ref=n,this.title="tree-dialog_component",this.isInitialized=!1,this.isDestroyed=!1,this.isStyled=!1,this._=a.default,this.Stratus=l.Stratus,this.apiBase="/Api/Content",this.isSingleContentLoading=!1,this.limit=20,this.isContentLoading=!1,this.isContentLoaded=!1,this.basicContentQueryAttributes="options[isContent]=null&options[isCollection]=null&options[showRoutable]=true&options[showRouting]=true"}ngOnInit(){this.uid=a.default.uniqueId(`sa_${a.default.snakeCase("tree-dialog")}_component_`),l.Stratus.Instances[this.uid]=this,l.Stratus.Internals.CssLoader(`${c}/tree/tree-dialog.component${h}.css`).then(()=>{this.isStyled=!0}).catch(t=>{console.warn("Issue detected in CSS Loader for Component:",this),console.error(t),this.isStyled=!0}),this.tree=this.data.tree,this.treeNode=this.data.treeNode,this.browserTarget=null!==this.data.browserTarget,this.backend=this.data.backend,this.iconRegistry=this.data.iconRegistry,this.dialogContentForm=this.fb.group({contentSelectorInput:this.data.content||null}),this.dialogContentForm.get("contentSelectorInput").valueChanges.pipe(r.debounceTime(300),r.tap(()=>this.isContentLoading=!0),r.switchMap(t=>(a.default.isString(t)?this.lastContentSelectorQuery=this.getQueryUrl(t):(this.data.content=t,this.data.url=null),this.backend.get(this.lastContentSelectorQuery||this.getQueryUrl()).pipe(r.finalize(()=>{this.isContentLoading=!1,this.isContentLoaded=!0}))))).subscribe(t=>this.handleContent(t)),this.backend.get(this.getQueryUrl()).pipe(r.finalize(()=>this.isContentLoading=!1)).subscribe(t=>this.handleContent(t)),this.data.content&&this.data.content.id&&(this.isSingleContentLoading=!0,this.backend.get(this.getQueryUrl(null,this.data.content.id)).pipe(r.finalize(()=>this.isSingleContentLoading=!1)).subscribe(t=>{if(!t.ok||200!==t.status||a.default.isEmpty(t.body))return null;const e=a.default.get(t.body,"payload")||t.body;return a.default.isEmpty(e)||Array.isArray(e)||!a.default.isObject(e)?null:(this.contentEntity=e,this.isSingleContentLoading=!1,this.dialogContentForm.get("contentSelectorInput").patchValue(this.contentEntity),this.refresh(),this.contentEntity)})),this.isInitialized=!0}ngOnDestroy(){this.isDestroyed=!0}refresh(){return this.isDestroyed?new Promise(t=>t()):super.refresh()}onCancelClick(){this.dialogRef.close()}onBrowserTargetChange(t){this.data.browserTarget=t.checked?"_blank":null}displayContentText(t){if(!t)return;const e=a.default.get(t,"routing[0].url"),i=a.default.isUndefined(e)?" (No route!)":` (/${e})`,n=a.default.get(t,"id"),s=a.default.isUndefined(n)?null:"Content: "+n;return(a.default.get(t,"version.title")||s)+i}handleContent(t){if(!t.ok||200!==t.status||a.default.isEmpty(t.body))return this.filteredContent=[],this.filteredContent;const e=a.default.get(t.body,"payload")||t.body;return a.default.isEmpty(e)||!Array.isArray(e)?(this.filteredContent=[],this.filteredContent):(this.filteredContent=e,this.filteredContent)}destroy(){this.treeNode.destroy().afterClosed().subscribe(t=>{t&&this.onCancelClick()})}toggleStatus(){this.treeNode.toggleStatus()}addChild(){this.treeNode.addChild()}isSelected(t){return!!this.data.content&&this.data.content.id===t.id}getSvg(t,e){return this.tree.getSvg(t,e)}getQueryUrl(t,e){return t=!a.default.isString(t)||a.default.isEmpty(t)?"":t,e=a.default.isString(e)||a.default.isNumber(e)?"/"+e:"",`${this.apiBase}${e}?limit=${this.limit}&${this.basicContentQueryAttributes}&q=${t}`}selectedOnTop(t,e){if(!t||!t.length)return t;if(!e||!e.id)return t;const i=a.default.clone(t),n=t.findIndex(t=>t.id===e.id);return-1===n?(i.unshift(e),i):(s.moveItemInArray(i,n,0),i)}},f=g([i.Component({selector:"sa-tree-dialog",templateUrl:`${c}/tree/tree-dialog.component${h}.html`}),y(1,i.Inject(o.MAT_DIALOG_DATA)),p("design:paramtypes",[o.MatDialogRef,Object,n.FormBuilder,i.ChangeDetectorRef])],f),t("TreeDialogComponent",f)}}});
@@ -23,6 +23,9 @@ import {
23
23
  IconOptions,
24
24
  MatIconRegistry
25
25
  } from '@angular/material/icon'
26
+ import {
27
+ MatCheckboxChange
28
+ } from '@angular/material/checkbox/checkbox'
26
29
 
27
30
  // RXJS
28
31
  import {
@@ -188,6 +191,7 @@ export class TreeDialogComponent extends ResponsiveComponent implements OnInit,
188
191
  // Hoist Components
189
192
  this.tree = this.data.tree
190
193
  this.treeNode = this.data.treeNode
194
+ this.browserTarget = this.data.browserTarget !== null
191
195
 
192
196
  // Hoist Services
193
197
  this.backend = this.data.backend
@@ -339,11 +343,11 @@ export class TreeDialogComponent extends ResponsiveComponent implements OnInit,
339
343
  // this.refresh()
340
344
  }
341
345
 
342
- onBrowserTargetChange($event: any): void {
343
- this.data.browserTarget = this.browserTarget ? '_blank' : null
346
+ onBrowserTargetChange($event: MatCheckboxChange): void {
347
+ this.data.browserTarget = $event.checked ? '_blank' : null
344
348
  }
345
349
 
346
- displayContentText(content: ContentEntity) {
350
+ displayContentText(content: ContentEntity): string|void {
347
351
  // Ensure Content is Selected before Display Text
348
352
  if (!content) {
349
353
  return
@@ -364,7 +368,7 @@ export class TreeDialogComponent extends ResponsiveComponent implements OnInit,
364
368
  // }
365
369
  // }
366
370
 
367
- private handleContent(response:HttpResponse<Convoy<ContentEntity>>) {
371
+ private handleContent(response: HttpResponse<Convoy<ContentEntity>>) {
368
372
  if (!response.ok || response.status !== 200 || _.isEmpty(response.body)) {
369
373
  this.filteredContent = []
370
374
  // FIXME: We have to go in this roundabout way to force changes to be detected since the