@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/dist/angular.bundle.js +6124 -3727
- package/dist/angular.bundle.min.js +1 -1
- package/package.json +1 -1
- package/src/json/json.component.css +2 -0
- package/src/json/json.component.css.map +1 -0
- package/src/json/json.component.js +257 -0
- package/src/json/json.component.js.map +1 -0
- package/src/json/json.component.min.css +0 -0
- package/src/json/json.component.min.js +1 -0
- package/src/media-selector/media-selector.component.css +2 -0
- package/src/media-selector/media-selector.component.css.map +1 -1
- package/src/media-selector/media-selector.component.html +5 -1
- package/src/media-selector/media-selector.component.min.css +1 -1
- package/src/media-selector/media-selector.component.min.html +1 -1
- package/src/media-selector/media-selector.component.scss +5 -0
- package/src/tree/tree-dialog.component.html +1 -1
- package/src/tree/tree-dialog.component.js +2 -1
- package/src/tree/tree-dialog.component.js.map +1 -1
- package/src/tree/tree-dialog.component.min.html +1 -1
- package/src/tree/tree-dialog.component.min.js +1 -1
- package/src/tree/tree-dialog.component.ts +8 -4
package/package.json
CHANGED
|
@@ -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;;
|
|
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
|
-
|
|
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);
|
|
@@ -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 =
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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" (
|
|
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=
|
|
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:
|
|
343
|
-
this.data.browserTarget =
|
|
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
|