@stratusjs/angular 0.3.2 → 0.3.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 +1 -1
- package/src/media-selector/media-selector.component.html +27 -11
- package/src/media-selector/media-selector.component.js +34 -2
- package/src/media-selector/media-selector.component.js.map +1 -1
- package/src/media-selector/media-selector.component.min.html +1 -1
- package/src/media-selector/media-selector.component.min.js +1 -1
- package/src/media-selector/media-selector.component.ts +84 -9
- package/src/media-selector/media-selector.horizontal.component.html +74 -71
- package/src/media-selector/media-selector.horizontal.component.min.html +26 -13
- package/src/media-selector/{media-selector-vanilla.component.html → media-selector.vanilla.component.html} +0 -0
- package/src/media-selector/{media-selector-vanilla.component.min.html → media-selector.vanilla.component.min.html} +0 -0
- package/src/selector/selector.component.html +4 -10
- package/src/selector/selector.component.min.html +1 -1
- package/src/tree/tree-dialog.component.html +2 -2
- package/src/tree/tree-dialog.component.min.html +1 -1
package/package.json
CHANGED
|
@@ -7,21 +7,37 @@
|
|
|
7
7
|
<p class="small-all-caps selected-media-label"
|
|
8
8
|
[textContent]="'Selected ' + (type || 'Items')"></p>
|
|
9
9
|
<!-- TODO: for styles from legacy selector, add class `selected-area` -->
|
|
10
|
-
<div class="media-content media-selected-container"
|
|
10
|
+
<div class="media-content media-selected-container"
|
|
11
|
+
cdkDropListGroup
|
|
12
|
+
>
|
|
11
13
|
<!--<div class="selected-message-box" *ngIf="empty">-->
|
|
12
14
|
<!-- Nothing has been selected.-->
|
|
13
15
|
<!--</div>-->
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
|
|
17
|
+
<!-- Angular 7 to 10 Workaround -->
|
|
18
|
+
<!--<div cdkDropList-->
|
|
19
|
+
<!-- [cdkDropListEnterPredicate]="enterPredicate"-->
|
|
20
|
+
<!-- (cdkDropListDropped)="drop($event)">-->
|
|
21
|
+
<!--</div>-->
|
|
22
|
+
<!--<div cdkDropList class="media-selected-list media-selected-list-grid"-->
|
|
23
|
+
<!-- *ngFor="let selectedModel of dataSub | async"-->
|
|
24
|
+
<!-- [cdkDropListEnterPredicate]="enterPredicate"-->
|
|
25
|
+
<!-- (cdkDropListDropped)="drop($event)">-->
|
|
26
|
+
<!-- <div cdkDrag class="media-selected-list-row media-selected-box media-selected-box-grid"-->
|
|
27
|
+
<!-- (cdkDragMoved)="move($event)">-->
|
|
28
|
+
<!-- Angular 7 to 10 Workaround -->
|
|
29
|
+
|
|
18
30
|
<!-- FIXME: the legacy selector used `list-inline`, but it causes problems -->
|
|
19
|
-
<div
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
31
|
+
<div class="media-selected-list media-selected-list-grid"
|
|
32
|
+
cdkDropList
|
|
33
|
+
*ngFor="let selectedModel of dataSub | async; let i = index"
|
|
34
|
+
[cdkDropListData]="i"
|
|
35
|
+
>
|
|
36
|
+
<div class="media-selected-list-row media-selected-box media-selected-box-grid"
|
|
37
|
+
cdkDrag
|
|
38
|
+
[cdkDragData]="i"
|
|
39
|
+
(cdkDragEntered)="dragEntered($event)"
|
|
40
|
+
>
|
|
25
41
|
<!--<div class="custom-ghost-placeholder" *cdkDragPlaceholder></div>-->
|
|
26
42
|
<div class="media-item selected-media-item"
|
|
27
43
|
[id]="'libb_' + _.get(selectedModel, 'id') || id || uid"
|
|
@@ -87,11 +87,13 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "rxjs", "@angular/pl
|
|
|
87
87
|
this.libraryDisplay = false;
|
|
88
88
|
this.isSelector = true;
|
|
89
89
|
this.isGrid = true;
|
|
90
|
-
this.disableRefresh = true;
|
|
91
90
|
this.enterPredicate = (drag, drop) => {
|
|
92
91
|
if (drop === this.placeholder) {
|
|
93
92
|
return true;
|
|
94
93
|
}
|
|
94
|
+
if (environment_1.cookie('env')) {
|
|
95
|
+
console.log('entering predicate...');
|
|
96
|
+
}
|
|
95
97
|
if (drop !== this.activeContainer) {
|
|
96
98
|
return false;
|
|
97
99
|
}
|
|
@@ -109,6 +111,9 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "rxjs", "@angular/pl
|
|
|
109
111
|
}
|
|
110
112
|
this.targetIndex = dropIndex;
|
|
111
113
|
this.targetList = drop;
|
|
114
|
+
if (environment_1.cookie('env')) {
|
|
115
|
+
console.log('predicate:', this.sourceIndex, '->', this.targetIndex);
|
|
116
|
+
}
|
|
112
117
|
placeholderElement.style.display = '';
|
|
113
118
|
dropElement.parentElement.insertBefore(placeholderElement, dropIndex > dragIndex ? dropElement.nextSibling : dropElement);
|
|
114
119
|
this.placeholder._dropListRef.enter(drag._dragRef, drag.element.nativeElement.offsetLeft, drag.element.nativeElement.offsetTop);
|
|
@@ -141,7 +146,7 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "rxjs", "@angular/pl
|
|
|
141
146
|
this.styled = true;
|
|
142
147
|
this.refresh();
|
|
143
148
|
});
|
|
144
|
-
this.hydrate(elementRef, sanitizer, ["title", "uid", "target", "targetSuffix", "id", "manifest", "decouple", "direct", "api", "urlRoot", "type", "property", "endpoint", "_", "has", "log", "Stratus", "registry", "fetched", "data", "collection", "model", "dataSub", "onChange", "subscriber", "eventID", "svgIcons", "styled", "empty", "libraryDisplay", "isSelector", "isGrid", "
|
|
149
|
+
this.hydrate(elementRef, sanitizer, ["title", "uid", "target", "targetSuffix", "id", "manifest", "decouple", "direct", "api", "urlRoot", "type", "property", "endpoint", "_", "has", "log", "Stratus", "registry", "fetched", "data", "collection", "model", "dataSub", "onChange", "subscriber", "eventID", "svgIcons", "styled", "empty", "libraryDisplay", "isSelector", "isGrid", "listGroup", "placeholder", "targetList", "targetIndex", "sourceList", "sourceIndex", "activeContainer", "iconRegistry", "sanitizer", "ref", "elementRef", "viewportRuler", "drop", "moveModel", "goToUrl", "remove", "fetchData", "dataDefer", "dataRef", "onDataChange", "prioritize", "getSvg", "addSvgIcon", "toggleLibrary", "showDetails", "deleteMedia", "removeFromSelected", "dragEntered", "move", "moveItemInGrid", "enterPredicate", "getPointerPositionOnPage", "hydrate", "disableRefresh", "stagger", "reloading", "refresh", "ngOnDestroy"]);
|
|
145
150
|
this.eventID = `${this.target}:${this.id}:${this.property}`;
|
|
146
151
|
this.fetchData()
|
|
147
152
|
.then(data => {
|
|
@@ -166,6 +171,9 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "rxjs", "@angular/pl
|
|
|
166
171
|
if (!models || !models.length) {
|
|
167
172
|
return;
|
|
168
173
|
}
|
|
174
|
+
if (environment_1.cookie('env')) {
|
|
175
|
+
console.log('drop:', event.previousContainer.id, event.container.id);
|
|
176
|
+
}
|
|
169
177
|
if (!this.isGrid || !this.moveItemInGrid(models)) {
|
|
170
178
|
if (this.isGrid && environment_1.cookie('env')) {
|
|
171
179
|
console.warn('moving item in grid failed. attempting fallback.');
|
|
@@ -302,6 +310,27 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "rxjs", "@angular/pl
|
|
|
302
310
|
stratus_1.Stratus.Environment.trigger(this.eventID, 'removeFromSelected');
|
|
303
311
|
stratus_1.Stratus.Environment.trigger(`${this.eventID}:removeFromSelected`, model);
|
|
304
312
|
}
|
|
313
|
+
dragEntered(event) {
|
|
314
|
+
const models = this.dataRef();
|
|
315
|
+
if (!models || !models.length) {
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
const drag = event.item;
|
|
319
|
+
const dropList = event.container;
|
|
320
|
+
const dragIndex = drag.data;
|
|
321
|
+
const dropIndex = dropList.data;
|
|
322
|
+
const placeholderContainer = dropList.element.nativeElement;
|
|
323
|
+
const placeholderElement = placeholderContainer.querySelector('.cdk-drag-placeholder');
|
|
324
|
+
placeholderContainer.removeChild(placeholderElement);
|
|
325
|
+
placeholderContainer.parentElement.insertBefore(placeholderElement, placeholderContainer);
|
|
326
|
+
if (environment_1.cookie('env')) {
|
|
327
|
+
console.log('media move:', dragIndex, '->', dropIndex);
|
|
328
|
+
}
|
|
329
|
+
drag_drop_1.moveItemInArray(models, dragIndex, dropIndex);
|
|
330
|
+
let priority = 0;
|
|
331
|
+
lodash_1.default.forEach(models, (model) => model.priority = priority++);
|
|
332
|
+
this.model.trigger('change');
|
|
333
|
+
}
|
|
305
334
|
move(event) {
|
|
306
335
|
const point = this.getPointerPositionOnPage(event.event);
|
|
307
336
|
if (lodash_1.default.isUndefined(this.listGroup) || !this.listGroup) {
|
|
@@ -320,6 +349,9 @@ System.register(["@angular/core", "@angular/cdk/drag-drop", "rxjs", "@angular/pl
|
|
|
320
349
|
});
|
|
321
350
|
}
|
|
322
351
|
moveItemInGrid(collection) {
|
|
352
|
+
if (environment_1.cookie('env')) {
|
|
353
|
+
console.log('moveItemInGrid:', collection);
|
|
354
|
+
}
|
|
323
355
|
if (!this.targetList) {
|
|
324
356
|
return false;
|
|
325
357
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["media-selector.component.ts"],"names":[],"mappings":"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","file":"media-selector.component.js"}
|
|
1
|
+
{"version":3,"sources":["media-selector.component.ts"],"names":[],"mappings":"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","file":"media-selector.component.js"}
|
|
@@ -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
|
|
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]="{
|
|
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'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["@angular/core","@angular/cdk/drag-drop","rxjs","@angular/platform-browser","@angular/material/icon","@stratusjs/runtime/stratus","lodash","@stratusjs/core/environment","@stratusjs/angular/core/root.component","@stratusjs/angularjs/services/registry","@stratusjs/core/events/eventManager","@angular/cdk/scrolling"],function(e,t){"use strict";var i,r,s,o,n,a,l,d,c,h,u,g,p,m,f,y,v,I=this&&this.__decorate||function(e,t,i,r){var s,o=arguments.length,n=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(n=(o<3?s(n):o>3?s(t,i,n):s(t,i))||n);return o>3&&n&&Object.defineProperty(t,i,n),n},S=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};t&&t.id;function b(e,t){return Array.prototype.indexOf.call(e,t)}return{setters:[function(e){i=e},function(e){r=e},function(e){s=e},function(e){o=e},function(e){n=e},function(e){a=e},function(e){l=e},function(e){d=e},function(e){c=e},function(e){h=e},function(e){u=e},function(e){g=e}],execute:function(){"@stratusjs/angular",p="media-selector",m=d.cookie("env")?"":".min",f=`${a.Stratus.BaseUrl}${boot.configuration.paths["@stratusjs/angular/*"].replace(/[^/]*$/,"")}`,y=(e,t)=>l.default.has(e,t)&&!l.default.isEmpty(l.default.get(e,t)),v=class extends c.RootComponent{constructor(e,t,i,r,o){super(),this.iconRegistry=e,this.sanitizer=t,this.ref=i,this.elementRef=r,this.viewportRuler=o,this.title=p+"_component",this._=l.default,this.has=y,this.log=console.log,this.Stratus=a.Stratus,this.registry=new h.Registry,this.onChange=new s.Subject,this.svgIcons={},this.styled=!1,this.empty=!1,this.libraryDisplay=!1,this.isSelector=!0,this.isGrid=!0,this.disableRefresh=!0,this.enterPredicate=(e,t)=>{if(t===this.placeholder)return!0;if(t!==this.activeContainer)return!1;const i=this.placeholder.element.nativeElement,r=e.dropContainer.element.nativeElement,s=t.element.nativeElement,o=b(s.parentElement.children,this.sourceList?i:r),n=b(s.parentElement.children,s);return this.sourceList||(this.sourceIndex=o,this.sourceList=e.dropContainer,i.style.width=r.clientWidth+"px",i.style.height=r.clientHeight+"px",r.parentElement.removeChild(r)),this.targetIndex=n,this.targetList=t,i.style.display="",s.parentElement.insertBefore(i,n>o?s.nextSibling:s),this.placeholder._dropListRef.enter(e._dragRef,e.element.nativeElement.offsetLeft,e.element.nativeElement.offsetTop),!1},this.uid=l.default.uniqueId(`sa_${l.default.snakeCase(p)}_component_`),a.Stratus.Instances[this.uid]=this,this.dataSub=new s.Observable(e=>this.dataDefer(e)),this.targetList=null,this.sourceList=null,l.default.forEach({media_selector_add:a.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/add.svg",media_selector_clear:a.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/clear.svg",media_selector_delete:a.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/delete.svg",media_selector_edit:a.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/edit.svg",media_selector_info:a.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/info.svg",media_selector_image:a.Stratus.BaseUrl+"sitetheorymedia/images/mediaTypeIcons/media-icon-image.svg",media_selector_video:a.Stratus.BaseUrl+"sitetheorymedia/images/mediaTypeIcons/media-icon-video.svg",media_selector_audio:a.Stratus.BaseUrl+"sitetheorymedia/images/mediaTypeIcons/media-icon-audio.svg",media_selector_document:a.Stratus.BaseUrl+"sitetheorymedia/images/mediaTypeIcons/media-icon-document.svg"},(i,r)=>e.addSvgIcon(r,t.bypassSecurityTrustResourceUrl(i)).getNamedSvgIcon(r)),a.Stratus.Internals.CssLoader(`${f}${p}/${p}.component${m}.css`).then(()=>{this.styled=!0,this.refresh()}).catch(e=>{console.warn("Issue detected in CSS Loader for Component:",this),console.error(e),this.styled=!0,this.refresh()}),this.hydrate(r,t,["title","uid","target","targetSuffix","id","manifest","decouple","direct","api","urlRoot","type","property","endpoint","_","has","log","Stratus","registry","fetched","data","collection","model","dataSub","onChange","subscriber","eventID","svgIcons","styled","empty","libraryDisplay","isSelector","isGrid","disableRefresh","listGroup","placeholder","targetList","targetIndex","sourceList","sourceIndex","dragIndex","activeContainer","iconRegistry","sanitizer","ref","elementRef","viewportRuler","drop","moveModel","goToUrl","remove","fetchData","dataDefer","dataRef","onDataChange","prioritize","getSvg","addSvgIcon","toggleLibrary","showDetails","deleteMedia","removeFromSelected","move","moveItemInGrid","enterPredicate","getPointerPositionOnPage","hydrate","stagger","reloading","refresh","ngOnDestroy"]),this.eventID=`${this.target}:${this.id}:${this.property}`,this.fetchData().then(e=>{if(!(e&&e instanceof u.EventManager))return void console.warn("Unable to bind data from Registry!");const t=()=>{e.completed&&(this.dataDefer(this.subscriber),this.prioritize(),this.refresh())};e.on("change",t),t()})}drop(e){const t=this.dataRef();if(!t||!t.length)return;this.isGrid&&this.moveItemInGrid(t)||(this.isGrid&&d.cookie("env")&&console.warn("moving item in grid failed. attempting fallback."),r.moveItemInArray(t,e.previousIndex,e.currentIndex));let i=0;l.default.forEach(t,e=>e.priority=i++),this.model.trigger("change")}moveModel(e,t){const i=this.dataRef();if(!i||!i.length)return;r.moveItemInArray(i,e,t);let s=0;l.default.forEach(i,e=>e.priority=s++),this.model.trigger("change")}goToUrl(e){e&&e.contentType?window.open(e.contentType.editUrl+"?id="+e.id,"_blank"):console.error("unable to execute goToUrl() because a valid model content was not provided.")}remove(e){const t=this.dataRef();if(!t||!t.length)return console.error("unable to remove model from selection:",t),void this.refresh();let i=t.indexOf(e);if(-1===i){const r=t.map(t=>e.id===t.id?t:null).filter(e=>e);l.default.isArray(r)&&r.length&&(i=t.indexOf(l.default.first(r)))}-1!==i?(t.splice(i,1),this.model.trigger("change"),this.removeFromSelected(e.id)):console.error("unable to find model:",e,"in selection:",t)}fetchData(){return this.fetched?this.fetched:this.fetched=this.registry.fetch(a.Stratus.Select(this.elementRef.nativeElement),this)}dataDefer(e){if(this.subscriber=this.subscriber||e,!this.subscriber||!this.model||!this.model.completed)return void setTimeout(()=>{this.dataDefer(e)},500);const t=this.dataRef();this.empty=!t.length,this.subscriber.next(t),this.refresh()}dataRef(){if(!this.model)return[];const e=this.model.get(this.property);return e&&l.default.isArray(e)?e:[]}onDataChange(){this.prioritize(),this.dataDefer(this.subscriber),this.refresh()}prioritize(){const e=this.dataRef();if(!e||!e.length)return;let t=0;l.default.forEach(e,e=>e.priority=t++)}getSvg(e,t){const i=this.addSvgIcon(e,t);return new s.Observable(t=>{this.iconRegistry.getNamedSvgIcon(i).subscribe({error(t){console.error(`getSvg(${e}): ${t}`)},complete(){t.next(i)}})})}addSvgIcon(e,t){if(e in this.svgIcons)return this.svgIcons[e];t||(t={});const i=this.svgIcons[e]=l.default.uniqueId("media_selector_svg");return this.iconRegistry.addSvgIcon(i,this.sanitizer.bypassSecurityTrustResourceUrl(e),t),i}toggleLibrary(){this.libraryDisplay=!this.libraryDisplay,a.Stratus.Environment.trigger(this.eventID,"toggleLibrary"),a.Stratus.Environment.trigger(this.eventID+":toggleLibrary",this.libraryDisplay)}showDetails(e){a.Stratus.Environment.trigger(this.eventID,"showDetails"),a.Stratus.Environment.trigger(this.eventID+":showDetails",e)}deleteMedia(e){a.Stratus.Environment.trigger(this.eventID,"deleteMedia"),a.Stratus.Environment.trigger(this.eventID+":deleteMedia",e)}removeFromSelected(e){a.Stratus.Environment.trigger(this.eventID,"removeFromSelected"),a.Stratus.Environment.trigger(this.eventID+":removeFromSelected",e)}move(e){const t=this.getPointerPositionOnPage(e.event);!l.default.isUndefined(this.listGroup)&&this.listGroup?l.default.isUndefined(this.listGroup._items)?console.warn("this.listGroup._items does not exist:",this.listGroup):this.listGroup._items.forEach(e=>{(function(e,t,i){const{top:r,bottom:s,left:o,right:n}=e.element.nativeElement.getBoundingClientRect();return i>=r&&i<=s&&t>=o&&t<=n})(e,t.x,t.y)&&(this.activeContainer=e)}):console.warn("this.listGroup does not exist:",this)}moveItemInGrid(e){if(!this.targetList)return!1;const t=this.placeholder.element.nativeElement,i=t.parentElement;return t.style.display="none",i.removeChild(t),i.appendChild(t),i.insertBefore(this.sourceList.element.nativeElement,i.children[this.sourceIndex]),this.targetList=null,this.sourceList=null,this.sourceIndex!==this.targetIndex&&(r.moveItemInArray(e,this.sourceIndex,this.targetIndex),!0)}getPointerPositionOnPage(e){const t=function(e){return e.type.startsWith("touch")}(e)?e.touches[0]||e.changedTouches[0]:e,i=this.viewportRuler.getViewportScrollPosition();return{x:t.pageX-i.left,y:t.pageY-i.top}}},I([i.Input(),S("design:type",String)],v.prototype,"target",void 0),I([i.Input(),S("design:type",String)],v.prototype,"targetSuffix",void 0),I([i.Input(),S("design:type",Number)],v.prototype,"id",void 0),I([i.Input(),S("design:type",Boolean)],v.prototype,"manifest",void 0),I([i.Input(),S("design:type",Boolean)],v.prototype,"decouple",void 0),I([i.Input(),S("design:type",Boolean)],v.prototype,"direct",void 0),I([i.Input(),S("design:type",Object)],v.prototype,"api",void 0),I([i.Input(),S("design:type",String)],v.prototype,"urlRoot",void 0),I([i.Input(),S("design:type",String)],v.prototype,"type",void 0),I([i.Input(),S("design:type",String)],v.prototype,"property",void 0),I([i.Input(),S("design:type",String)],v.prototype,"endpoint",void 0),I([i.ViewChild(r.CdkDropListGroup),S("design:type",r.CdkDropListGroup)],v.prototype,"listGroup",void 0),I([i.ViewChild(r.CdkDropList),S("design:type",r.CdkDropList)],v.prototype,"placeholder",void 0),v=I([i.Component({selector:"sa-"+p,templateUrl:`${f}/${p}/${p}.component${m}.html`}),S("design:paramtypes",[n.MatIconRegistry,o.DomSanitizer,i.ChangeDetectorRef,i.ElementRef,g.ViewportRuler])],v),e("MediaSelectorComponent",v)}}});
|
|
1
|
+
System.register(["@angular/core","@angular/cdk/drag-drop","rxjs","@angular/platform-browser","@angular/material/icon","@stratusjs/runtime/stratus","lodash","@stratusjs/core/environment","@stratusjs/angular/core/root.component","@stratusjs/angularjs/services/registry","@stratusjs/core/events/eventManager","@angular/cdk/scrolling"],function(e,t){"use strict";var i,r,s,o,n,a,l,d,c,h,u,g,p,m,f,v,y,I=this&&this.__decorate||function(e,t,i,r){var s,o=arguments.length,n=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,r);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(n=(o<3?s(n):o>3?s(t,i,n):s(t,i))||n);return o>3&&n&&Object.defineProperty(t,i,n),n},S=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};t&&t.id;function b(e,t){return Array.prototype.indexOf.call(e,t)}return{setters:[function(e){i=e},function(e){r=e},function(e){s=e},function(e){o=e},function(e){n=e},function(e){a=e},function(e){l=e},function(e){d=e},function(e){c=e},function(e){h=e},function(e){u=e},function(e){g=e}],execute:function(){"@stratusjs/angular",p="media-selector",m=d.cookie("env")?"":".min",f=`${a.Stratus.BaseUrl}${boot.configuration.paths["@stratusjs/angular/*"].replace(/[^/]*$/,"")}`,v=(e,t)=>l.default.has(e,t)&&!l.default.isEmpty(l.default.get(e,t)),y=class extends c.RootComponent{constructor(e,t,i,r,o){super(),this.iconRegistry=e,this.sanitizer=t,this.ref=i,this.elementRef=r,this.viewportRuler=o,this.title=p+"_component",this._=l.default,this.has=v,this.log=console.log,this.Stratus=a.Stratus,this.registry=new h.Registry,this.onChange=new s.Subject,this.svgIcons={},this.styled=!1,this.empty=!1,this.libraryDisplay=!1,this.isSelector=!0,this.isGrid=!0,this.enterPredicate=(e,t)=>{if(t===this.placeholder)return!0;if(d.cookie("env")&&console.log("entering predicate..."),t!==this.activeContainer)return!1;const i=this.placeholder.element.nativeElement,r=e.dropContainer.element.nativeElement,s=t.element.nativeElement,o=b(s.parentElement.children,this.sourceList?i:r),n=b(s.parentElement.children,s);return this.sourceList||(this.sourceIndex=o,this.sourceList=e.dropContainer,i.style.width=r.clientWidth+"px",i.style.height=r.clientHeight+"px",r.parentElement.removeChild(r)),this.targetIndex=n,this.targetList=t,d.cookie("env")&&console.log("predicate:",this.sourceIndex,"->",this.targetIndex),i.style.display="",s.parentElement.insertBefore(i,n>o?s.nextSibling:s),this.placeholder._dropListRef.enter(e._dragRef,e.element.nativeElement.offsetLeft,e.element.nativeElement.offsetTop),!1},this.uid=l.default.uniqueId(`sa_${l.default.snakeCase(p)}_component_`),a.Stratus.Instances[this.uid]=this,this.dataSub=new s.Observable(e=>this.dataDefer(e)),this.targetList=null,this.sourceList=null,l.default.forEach({media_selector_add:a.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/add.svg",media_selector_clear:a.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/clear.svg",media_selector_delete:a.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/delete.svg",media_selector_edit:a.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/edit.svg",media_selector_info:a.Stratus.BaseUrl+"sitetheorycore/images/icons/actionButtons/info.svg",media_selector_image:a.Stratus.BaseUrl+"sitetheorymedia/images/mediaTypeIcons/media-icon-image.svg",media_selector_video:a.Stratus.BaseUrl+"sitetheorymedia/images/mediaTypeIcons/media-icon-video.svg",media_selector_audio:a.Stratus.BaseUrl+"sitetheorymedia/images/mediaTypeIcons/media-icon-audio.svg",media_selector_document:a.Stratus.BaseUrl+"sitetheorymedia/images/mediaTypeIcons/media-icon-document.svg"},(i,r)=>e.addSvgIcon(r,t.bypassSecurityTrustResourceUrl(i)).getNamedSvgIcon(r)),a.Stratus.Internals.CssLoader(`${f}${p}/${p}.component${m}.css`).then(()=>{this.styled=!0,this.refresh()}).catch(e=>{console.warn("Issue detected in CSS Loader for Component:",this),console.error(e),this.styled=!0,this.refresh()}),this.hydrate(r,t,["title","uid","target","targetSuffix","id","manifest","decouple","direct","api","urlRoot","type","property","endpoint","_","has","log","Stratus","registry","fetched","data","collection","model","dataSub","onChange","subscriber","eventID","svgIcons","styled","empty","libraryDisplay","isSelector","isGrid","listGroup","placeholder","targetList","targetIndex","sourceList","sourceIndex","activeContainer","iconRegistry","sanitizer","ref","elementRef","viewportRuler","drop","moveModel","goToUrl","remove","fetchData","dataDefer","dataRef","onDataChange","prioritize","getSvg","addSvgIcon","toggleLibrary","showDetails","deleteMedia","removeFromSelected","dragEntered","move","moveItemInGrid","enterPredicate","getPointerPositionOnPage","hydrate","disableRefresh","stagger","reloading","refresh","ngOnDestroy"]),this.eventID=`${this.target}:${this.id}:${this.property}`,this.fetchData().then(e=>{if(!(e&&e instanceof u.EventManager))return void console.warn("Unable to bind data from Registry!");const t=()=>{e.completed&&(this.dataDefer(this.subscriber),this.prioritize(),this.refresh())};e.on("change",t),t()})}drop(e){const t=this.dataRef();if(!t||!t.length)return;d.cookie("env")&&console.log("drop:",e.previousContainer.id,e.container.id),this.isGrid&&this.moveItemInGrid(t)||(this.isGrid&&d.cookie("env")&&console.warn("moving item in grid failed. attempting fallback."),r.moveItemInArray(t,e.previousIndex,e.currentIndex));let i=0;l.default.forEach(t,e=>e.priority=i++),this.model.trigger("change")}moveModel(e,t){const i=this.dataRef();if(!i||!i.length)return;r.moveItemInArray(i,e,t);let s=0;l.default.forEach(i,e=>e.priority=s++),this.model.trigger("change")}goToUrl(e){e&&e.contentType?window.open(e.contentType.editUrl+"?id="+e.id,"_blank"):console.error("unable to execute goToUrl() because a valid model content was not provided.")}remove(e){const t=this.dataRef();if(!t||!t.length)return console.error("unable to remove model from selection:",t),void this.refresh();let i=t.indexOf(e);if(-1===i){const r=t.map(t=>e.id===t.id?t:null).filter(e=>e);l.default.isArray(r)&&r.length&&(i=t.indexOf(l.default.first(r)))}-1!==i?(t.splice(i,1),this.model.trigger("change"),this.removeFromSelected(e.id)):console.error("unable to find model:",e,"in selection:",t)}fetchData(){return this.fetched?this.fetched:this.fetched=this.registry.fetch(a.Stratus.Select(this.elementRef.nativeElement),this)}dataDefer(e){if(this.subscriber=this.subscriber||e,!this.subscriber||!this.model||!this.model.completed)return void setTimeout(()=>{this.dataDefer(e)},500);const t=this.dataRef();this.empty=!t.length,this.subscriber.next(t),this.refresh()}dataRef(){if(!this.model)return[];const e=this.model.get(this.property);return e&&l.default.isArray(e)?e:[]}onDataChange(){this.prioritize(),this.dataDefer(this.subscriber),this.refresh()}prioritize(){const e=this.dataRef();if(!e||!e.length)return;let t=0;l.default.forEach(e,e=>e.priority=t++)}getSvg(e,t){const i=this.addSvgIcon(e,t);return new s.Observable(t=>{this.iconRegistry.getNamedSvgIcon(i).subscribe({error(t){console.error(`getSvg(${e}): ${t}`)},complete(){t.next(i)}})})}addSvgIcon(e,t){if(e in this.svgIcons)return this.svgIcons[e];t||(t={});const i=this.svgIcons[e]=l.default.uniqueId("media_selector_svg");return this.iconRegistry.addSvgIcon(i,this.sanitizer.bypassSecurityTrustResourceUrl(e),t),i}toggleLibrary(){this.libraryDisplay=!this.libraryDisplay,a.Stratus.Environment.trigger(this.eventID,"toggleLibrary"),a.Stratus.Environment.trigger(this.eventID+":toggleLibrary",this.libraryDisplay)}showDetails(e){a.Stratus.Environment.trigger(this.eventID,"showDetails"),a.Stratus.Environment.trigger(this.eventID+":showDetails",e)}deleteMedia(e){a.Stratus.Environment.trigger(this.eventID,"deleteMedia"),a.Stratus.Environment.trigger(this.eventID+":deleteMedia",e)}removeFromSelected(e){a.Stratus.Environment.trigger(this.eventID,"removeFromSelected"),a.Stratus.Environment.trigger(this.eventID+":removeFromSelected",e)}dragEntered(e){const t=this.dataRef();if(!t||!t.length)return;const i=e.item,s=e.container,o=i.data,n=s.data,a=s.element.nativeElement,c=a.querySelector(".cdk-drag-placeholder");a.removeChild(c),a.parentElement.insertBefore(c,a),d.cookie("env")&&console.log("media move:",o,"->",n),r.moveItemInArray(t,o,n);let h=0;l.default.forEach(t,e=>e.priority=h++),this.model.trigger("change")}move(e){const t=this.getPointerPositionOnPage(e.event);!l.default.isUndefined(this.listGroup)&&this.listGroup?l.default.isUndefined(this.listGroup._items)?console.warn("this.listGroup._items does not exist:",this.listGroup):this.listGroup._items.forEach(e=>{(function(e,t,i){const{top:r,bottom:s,left:o,right:n}=e.element.nativeElement.getBoundingClientRect();return i>=r&&i<=s&&t>=o&&t<=n})(e,t.x,t.y)&&(this.activeContainer=e)}):console.warn("this.listGroup does not exist:",this)}moveItemInGrid(e){if(d.cookie("env")&&console.log("moveItemInGrid:",e),!this.targetList)return!1;const t=this.placeholder.element.nativeElement,i=t.parentElement;return t.style.display="none",i.removeChild(t),i.appendChild(t),i.insertBefore(this.sourceList.element.nativeElement,i.children[this.sourceIndex]),this.targetList=null,this.sourceList=null,this.sourceIndex!==this.targetIndex&&(r.moveItemInArray(e,this.sourceIndex,this.targetIndex),!0)}getPointerPositionOnPage(e){const t=function(e){return e.type.startsWith("touch")}(e)?e.touches[0]||e.changedTouches[0]:e,i=this.viewportRuler.getViewportScrollPosition();return{x:t.pageX-i.left,y:t.pageY-i.top}}},I([i.Input(),S("design:type",String)],y.prototype,"target",void 0),I([i.Input(),S("design:type",String)],y.prototype,"targetSuffix",void 0),I([i.Input(),S("design:type",Number)],y.prototype,"id",void 0),I([i.Input(),S("design:type",Boolean)],y.prototype,"manifest",void 0),I([i.Input(),S("design:type",Boolean)],y.prototype,"decouple",void 0),I([i.Input(),S("design:type",Boolean)],y.prototype,"direct",void 0),I([i.Input(),S("design:type",Object)],y.prototype,"api",void 0),I([i.Input(),S("design:type",String)],y.prototype,"urlRoot",void 0),I([i.Input(),S("design:type",String)],y.prototype,"type",void 0),I([i.Input(),S("design:type",String)],y.prototype,"property",void 0),I([i.Input(),S("design:type",String)],y.prototype,"endpoint",void 0),I([i.ViewChild(r.CdkDropListGroup),S("design:type",r.CdkDropListGroup)],y.prototype,"listGroup",void 0),I([i.ViewChild(r.CdkDropList),S("design:type",r.CdkDropList)],y.prototype,"placeholder",void 0),y=I([i.Component({selector:"sa-"+p,templateUrl:`${f}/${p}/${p}.component${m}.html`}),S("design:paramtypes",[n.MatIconRegistry,o.DomSanitizer,i.ChangeDetectorRef,i.ElementRef,g.ViewportRuler])],y),e("MediaSelectorComponent",y)}}});
|
|
@@ -15,7 +15,8 @@ import {
|
|
|
15
15
|
CdkDropListGroup,
|
|
16
16
|
CdkDrag,
|
|
17
17
|
CdkDragDrop,
|
|
18
|
-
CdkDragMove
|
|
18
|
+
CdkDragMove,
|
|
19
|
+
CdkDragEnter
|
|
19
20
|
} from '@angular/cdk/drag-drop'
|
|
20
21
|
|
|
21
22
|
// RXJS
|
|
@@ -67,6 +68,7 @@ const has = (object: object, path: string) => _.has(object, path) && !_.isEmpty(
|
|
|
67
68
|
*/
|
|
68
69
|
@Component({
|
|
69
70
|
selector: `sa-${moduleName}`,
|
|
71
|
+
// TODO: Add the ability to change the templateUrl to others, based on a cookie.
|
|
70
72
|
templateUrl: `${localDir}/${moduleName}/${moduleName}.component${min}.html`,
|
|
71
73
|
// FIXME: This doesn't work, as it seems Angular attempts to use a System.js import instead of their own, so it will
|
|
72
74
|
// require the steal-css module
|
|
@@ -108,7 +110,7 @@ export class MediaSelectorComponent extends RootComponent { // implements OnInit
|
|
|
108
110
|
fetched: Promise<boolean|Collection|Model>
|
|
109
111
|
data: any
|
|
110
112
|
collection?: EventBase
|
|
111
|
-
// @Output() model: any
|
|
113
|
+
// @Output() model: any
|
|
112
114
|
model?: Model
|
|
113
115
|
|
|
114
116
|
// Observable Connection
|
|
@@ -121,8 +123,8 @@ export class MediaSelectorComponent extends RootComponent { // implements OnInit
|
|
|
121
123
|
eventID: string
|
|
122
124
|
|
|
123
125
|
// API Connectivity for Media Selector
|
|
124
|
-
// filteredModels: Observable<[]
|
|
125
|
-
// filteredModels: any
|
|
126
|
+
// filteredModels: Observable<[]>
|
|
127
|
+
// filteredModels: any
|
|
126
128
|
|
|
127
129
|
// Icon Localization
|
|
128
130
|
svgIcons: {
|
|
@@ -135,18 +137,32 @@ export class MediaSelectorComponent extends RootComponent { // implements OnInit
|
|
|
135
137
|
libraryDisplay = false
|
|
136
138
|
isSelector = true
|
|
137
139
|
isGrid = true
|
|
138
|
-
disableRefresh = true
|
|
140
|
+
// disableRefresh = true
|
|
139
141
|
|
|
140
142
|
// Drop List
|
|
141
143
|
@ViewChild(CdkDropListGroup) listGroup: CdkDropListGroup<CdkDropList>
|
|
142
144
|
@ViewChild(CdkDropList) placeholder: CdkDropList
|
|
143
145
|
|
|
144
146
|
// Grid Workaround
|
|
147
|
+
/**
|
|
148
|
+
* @deprecated This workaround only works from Angular 7 to 10. Everything changed in 11+.
|
|
149
|
+
*/
|
|
145
150
|
public targetList: CdkDropList
|
|
151
|
+
/**
|
|
152
|
+
* @deprecated This workaround only works from Angular 7 to 10. Everything changed in 11+.
|
|
153
|
+
*/
|
|
146
154
|
public targetIndex: number
|
|
155
|
+
/**
|
|
156
|
+
* @deprecated This workaround only works from Angular 7 to 10. Everything changed in 11+.
|
|
157
|
+
*/
|
|
147
158
|
public sourceList: CdkDropList
|
|
159
|
+
/**
|
|
160
|
+
* @deprecated This workaround only works from Angular 7 to 10. Everything changed in 11+.
|
|
161
|
+
*/
|
|
148
162
|
public sourceIndex: number
|
|
149
|
-
|
|
163
|
+
/**
|
|
164
|
+
* @deprecated This workaround only works from Angular 7 to 10. Everything changed in 11+.
|
|
165
|
+
*/
|
|
150
166
|
public activeContainer: any
|
|
151
167
|
|
|
152
168
|
// Construct
|
|
@@ -225,14 +241,14 @@ export class MediaSelectorComponent extends RootComponent { // implements OnInit
|
|
|
225
241
|
return
|
|
226
242
|
}
|
|
227
243
|
// Manually render upon model change
|
|
228
|
-
// this.ref.detach()
|
|
244
|
+
// this.ref.detach()
|
|
229
245
|
// TODO: We need to check if the data actually changed before causing a whole render and pipe change
|
|
230
246
|
// TODO: Look into the Model, as it fires a lot of change events...
|
|
231
247
|
const onDataChange = () => {
|
|
232
248
|
if (!data.completed) {
|
|
233
249
|
return
|
|
234
250
|
}
|
|
235
|
-
// this.onDataChange()
|
|
251
|
+
// this.onDataChange()
|
|
236
252
|
this.dataDefer(this.subscriber)
|
|
237
253
|
this.prioritize()
|
|
238
254
|
this.refresh()
|
|
@@ -247,6 +263,9 @@ export class MediaSelectorComponent extends RootComponent { // implements OnInit
|
|
|
247
263
|
if (!models || !models.length) {
|
|
248
264
|
return
|
|
249
265
|
}
|
|
266
|
+
if (cookie('env')) {
|
|
267
|
+
console.log('drop:', event.previousContainer.id, event.container.id)
|
|
268
|
+
}
|
|
250
269
|
// This injects the Grid Movement Workaround, if enabled, otherwise it
|
|
251
270
|
// uses `moveItemInArray` for basic movements or as a fallback.
|
|
252
271
|
if (!this.isGrid || !this.moveItemInGrid(models)) {
|
|
@@ -308,7 +327,7 @@ export class MediaSelectorComponent extends RootComponent { // implements OnInit
|
|
|
308
327
|
return
|
|
309
328
|
}
|
|
310
329
|
models.splice(index, 1)
|
|
311
|
-
// this.prioritize()
|
|
330
|
+
// this.prioritize()
|
|
312
331
|
this.model.trigger('change')
|
|
313
332
|
// trigger event emission
|
|
314
333
|
this.removeFromSelected(model.id)
|
|
@@ -444,9 +463,48 @@ export class MediaSelectorComponent extends RootComponent { // implements OnInit
|
|
|
444
463
|
Stratus.Environment.trigger(`${this.eventID}:removeFromSelected`, model)
|
|
445
464
|
}
|
|
446
465
|
|
|
466
|
+
/**
|
|
467
|
+
* This uses a drag method compatible with Angular 11+
|
|
468
|
+
*/
|
|
469
|
+
dragEntered(event: CdkDragEnter<number>) {
|
|
470
|
+
// Ensure Collection is Accessible
|
|
471
|
+
const models = this.dataRef()
|
|
472
|
+
if (!models || !models.length) {
|
|
473
|
+
return
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
// Store Drag & Drop Data
|
|
477
|
+
const drag = event.item
|
|
478
|
+
const dropList = event.container
|
|
479
|
+
const dragIndex = drag.data
|
|
480
|
+
const dropIndex = dropList.data
|
|
481
|
+
|
|
482
|
+
// Store Placeholders
|
|
483
|
+
const placeholderContainer = dropList.element.nativeElement
|
|
484
|
+
const placeholderElement = placeholderContainer.querySelector('.cdk-drag-placeholder')
|
|
485
|
+
|
|
486
|
+
// Twiddle Placeholders
|
|
487
|
+
placeholderContainer.removeChild(placeholderElement)
|
|
488
|
+
placeholderContainer.parentElement.insertBefore(placeholderElement, placeholderContainer)
|
|
489
|
+
|
|
490
|
+
// Display Debug Data
|
|
491
|
+
if (cookie('env')) {
|
|
492
|
+
console.log('media move:', dragIndex, '->', dropIndex)
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
// Move Element Accordingly
|
|
496
|
+
moveItemInArray(models, dragIndex, dropIndex)
|
|
497
|
+
|
|
498
|
+
let priority = 0
|
|
499
|
+
_.forEach(models, (model: any) => model.priority = priority++)
|
|
500
|
+
this.model.trigger('change')
|
|
501
|
+
}
|
|
502
|
+
|
|
447
503
|
/**
|
|
448
504
|
* This functionality is based on the workaround present below:
|
|
449
505
|
* https://stackoverflow.com/questions/53675661/angular-material-7-use-grid-with-drag-and-drop
|
|
506
|
+
*
|
|
507
|
+
* @deprecated This workaround only works from Angular 7 to 10. Everything changed in 11+.
|
|
450
508
|
*/
|
|
451
509
|
move(event: CdkDragMove) {
|
|
452
510
|
const point = this.getPointerPositionOnPage(event.event)
|
|
@@ -470,8 +528,13 @@ export class MediaSelectorComponent extends RootComponent { // implements OnInit
|
|
|
470
528
|
/**
|
|
471
529
|
* This functionality is based on the workaround present below:
|
|
472
530
|
* https://stackoverflow.com/questions/53675661/angular-material-7-use-grid-with-drag-and-drop
|
|
531
|
+
*
|
|
532
|
+
* @deprecated This workaround only works from Angular 7 to 10. Everything changed in 11+.
|
|
473
533
|
*/
|
|
474
534
|
moveItemInGrid(collection: Array<any>): boolean {
|
|
535
|
+
if (cookie('env')) {
|
|
536
|
+
console.log('moveItemInGrid:', collection)
|
|
537
|
+
}
|
|
475
538
|
if (!this.targetList) {
|
|
476
539
|
return false
|
|
477
540
|
}
|
|
@@ -501,12 +564,18 @@ export class MediaSelectorComponent extends RootComponent { // implements OnInit
|
|
|
501
564
|
/**
|
|
502
565
|
* This functionality is based on the workaround present below:
|
|
503
566
|
* https://stackoverflow.com/questions/53675661/angular-material-7-use-grid-with-drag-and-drop
|
|
567
|
+
*
|
|
568
|
+
* @deprecated This workaround only works from Angular 7 to 10. Everything changed in 11+.
|
|
504
569
|
*/
|
|
505
570
|
enterPredicate = (drag: CdkDrag, drop: CdkDropList) => {
|
|
506
571
|
if (drop === this.placeholder) {
|
|
507
572
|
return true
|
|
508
573
|
}
|
|
509
574
|
|
|
575
|
+
if (cookie('env')) {
|
|
576
|
+
console.log('entering predicate...')
|
|
577
|
+
}
|
|
578
|
+
|
|
510
579
|
if (drop !== this.activeContainer) {
|
|
511
580
|
return false
|
|
512
581
|
}
|
|
@@ -531,6 +600,10 @@ export class MediaSelectorComponent extends RootComponent { // implements OnInit
|
|
|
531
600
|
this.targetIndex = dropIndex
|
|
532
601
|
this.targetList = drop
|
|
533
602
|
|
|
603
|
+
if (cookie('env')) {
|
|
604
|
+
console.log('predicate:', this.sourceIndex, '->', this.targetIndex)
|
|
605
|
+
}
|
|
606
|
+
|
|
534
607
|
placeholderElement.style.display = ''
|
|
535
608
|
dropElement.parentElement.insertBefore(
|
|
536
609
|
placeholderElement,
|
|
@@ -548,6 +621,8 @@ export class MediaSelectorComponent extends RootComponent { // implements OnInit
|
|
|
548
621
|
/**
|
|
549
622
|
* This functionality is based on the workaround present below:
|
|
550
623
|
* https://stackoverflow.com/questions/53675661/angular-material-7-use-grid-with-drag-and-drop
|
|
624
|
+
*
|
|
625
|
+
* @deprecated This workaround only works from Angular 7 to 10. Everything changed in 11+.
|
|
551
626
|
*/
|
|
552
627
|
getPointerPositionOnPage(event: MouseEvent | TouchEvent) {
|
|
553
628
|
// start/end events will have empty `touches`, but `changedTouches` will be filled
|
|
@@ -6,63 +6,80 @@
|
|
|
6
6
|
<div class="media-component section-container selected-container border-default border-default-all border-radius-default">
|
|
7
7
|
<p class="small-all-caps selected-media-label"
|
|
8
8
|
[textContent]="'Selected ' + (type || 'Items')"></p>
|
|
9
|
-
|
|
9
|
+
<!-- TODO: for styles from legacy selector, add class `selected-area` -->
|
|
10
|
+
<div class="media-content media-selected-container">
|
|
10
11
|
<!--<div class="selected-message-box" *ngIf="empty">-->
|
|
11
12
|
<!-- Nothing has been selected.-->
|
|
12
13
|
<!--</div>-->
|
|
13
|
-
<ul cdkDropList class="list-inline media-selected-list"
|
|
14
|
+
<ul cdkDropList class="list-inline media-selected-list media-selected-list-grid"
|
|
14
15
|
cdkDropListOrientation="horizontal"
|
|
15
16
|
(cdkDropListDropped)="drop($event)">
|
|
16
17
|
<li cdkDrag class="media-selected-list-row media-selected-box media-selected-box-row"
|
|
17
18
|
*ngFor="let selectedModel of dataSub | async">
|
|
18
19
|
<!--<div class="custom-ghost-placeholder" *cdkDragPlaceholder></div>-->
|
|
19
|
-
<div class="media-item selected-media-item"
|
|
20
|
+
<div class="media-item selected-media-item"
|
|
21
|
+
[id]="'libb_' + _.get(selectedModel, 'id') || id || uid"
|
|
22
|
+
[ngClass]="{
|
|
23
|
+
'image-thumb': _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('image'),
|
|
24
|
+
'video-thumb' : _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('video'),
|
|
25
|
+
'audio-thumb' : _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('audio'),
|
|
26
|
+
'document-thumb' : _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('application'),
|
|
27
|
+
'word' : _.get(selectedModel, 'extension') && _.get(selectedModel, 'extension').includes('doc'),
|
|
28
|
+
'pdf' : _.get(selectedModel, 'extension') && _.get(selectedModel, 'extension').includes('pdf'),
|
|
29
|
+
'generic-thumb' : !_.get(selectedModel, 'mime') || (
|
|
30
|
+
!_.get(selectedModel, 'mime').includes('image')
|
|
31
|
+
&& !_.get(selectedModel, 'mime').includes('video')
|
|
32
|
+
&& !_.get(selectedModel, 'mime').includes('audio')
|
|
33
|
+
&& !_.get(selectedModel, 'mime').includes('application')
|
|
34
|
+
)
|
|
35
|
+
}"
|
|
36
|
+
>
|
|
20
37
|
<div class="image-draggable"
|
|
21
38
|
[ngClass]="{
|
|
22
|
-
'image-thumb': selectedModel
|
|
23
|
-
'video-thumb' : selectedModel
|
|
24
|
-
'audio-thumb' : selectedModel
|
|
25
|
-
'document-thumb' : selectedModel
|
|
26
|
-
'word' : selectedModel
|
|
27
|
-
'pdf' : selectedModel
|
|
28
|
-
'generic-thumb' : !selectedModel
|
|
29
|
-
!selectedModel
|
|
30
|
-
&& !selectedModel
|
|
31
|
-
&& !selectedModel
|
|
32
|
-
&& !selectedModel
|
|
39
|
+
'image-thumb': _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('image'),
|
|
40
|
+
'video-thumb' : _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('video'),
|
|
41
|
+
'audio-thumb' : _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('audio'),
|
|
42
|
+
'document-thumb' : _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('application'),
|
|
43
|
+
'word' : _.get(selectedModel, 'extension') && _.get(selectedModel, 'extension').includes('doc'),
|
|
44
|
+
'pdf' : _.get(selectedModel, 'extension') && _.get(selectedModel, 'extension').includes('pdf'),
|
|
45
|
+
'generic-thumb' : !_.get(selectedModel, 'mime') || (
|
|
46
|
+
!_.get(selectedModel, 'mime').includes('image')
|
|
47
|
+
&& !_.get(selectedModel, 'mime').includes('video')
|
|
48
|
+
&& !_.get(selectedModel, 'mime').includes('audio')
|
|
49
|
+
&& !_.get(selectedModel, 'mime').includes('application')
|
|
33
50
|
)
|
|
34
51
|
}"
|
|
35
|
-
[ngStyle]="{'background': 'url(' + (_.get(selectedModel, '_thumbnailUrl') || _.get(selectedModel, 'bestImage.thumb') || _.get(selectedModel, 'meta.thumbnail_small')) + ') no-repeat center center', 'background-size': 'cover'}">
|
|
36
|
-
|
|
52
|
+
[ngStyle]="{'background': 'url(' + (_.get(selectedModel, '_thumbnailUrl') || _.get(selectedModel, 'bestImage.thumb') || _.get(selectedModel, 'meta.thumbnail_small') || (Stratus.BaseUrl + 'sitetheorycore/images/shapeholder-square.png') || '') + ') no-repeat center center', 'background-size': 'cover'}">
|
|
53
|
+
<!-- TODO: Possibly avoid the _.get(selectedModel, '_fileTypeIcon') evaluation in the data above and just have the right class styles appear. It depends how it looks when the classes are properly set. -->
|
|
37
54
|
<img class="shapeholder" [src]="Stratus.BaseUrl + 'sitetheorycore/images/shapeholder-square.png'">
|
|
38
55
|
|
|
39
56
|
<div class="thumb-gradient"> </div>
|
|
40
57
|
|
|
41
58
|
<!-- This is a fallback for a blank ngStyle on the parent -->
|
|
42
|
-
<h4 *ngIf="!selectedModel
|
|
59
|
+
<h4 *ngIf="!_.get(selectedModel, '_thumbnailUrl') && !_.get(selectedModel, 'bestImage.thumb') && !_.get(selectedModel, 'meta.thumbnail_small')"
|
|
43
60
|
class="thumb-title position-center"
|
|
44
|
-
[innerText]="selectedModel
|
|
61
|
+
[innerText]="_.get(selectedModel, 'name')"></h4>
|
|
45
62
|
|
|
46
63
|
<div class="thumb-icon">
|
|
47
|
-
<mat-icon *ngIf="selectedModel.mime.includes('image')"
|
|
64
|
+
<mat-icon *ngIf="_.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('image')"
|
|
48
65
|
svgIcon="media_selector_image"
|
|
49
66
|
aria-hidden="true"
|
|
50
67
|
aria-label="Image">
|
|
51
68
|
Image
|
|
52
69
|
</mat-icon>
|
|
53
|
-
<mat-icon *ngIf="selectedModel.mime.includes('video')"
|
|
70
|
+
<mat-icon *ngIf="_.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('video')"
|
|
54
71
|
svgIcon="media_selector_video"
|
|
55
72
|
aria-hidden="true"
|
|
56
73
|
aria-label="Video">
|
|
57
74
|
Video
|
|
58
75
|
</mat-icon>
|
|
59
|
-
<mat-icon *ngIf="selectedModel.mime.includes('audio')"
|
|
76
|
+
<mat-icon *ngIf="_.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('audio')"
|
|
60
77
|
svgIcon="media_selector_audio"
|
|
61
78
|
aria-hidden="true"
|
|
62
79
|
aria-label="Audio">
|
|
63
80
|
Audio
|
|
64
81
|
</mat-icon>
|
|
65
|
-
<mat-icon *ngIf="selectedModel.mime.includes('
|
|
82
|
+
<mat-icon *ngIf="_.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('application')"
|
|
66
83
|
svgIcon="media_selector_document"
|
|
67
84
|
aria-hidden="true"
|
|
68
85
|
aria-label="Document">
|
|
@@ -82,64 +99,50 @@
|
|
|
82
99
|
<div class="format-size">
|
|
83
100
|
<div class="small-all-caps file-details">
|
|
84
101
|
<span class="file-type uppercase"
|
|
85
|
-
[innerText]="selectedModel
|
|
102
|
+
[innerText]="_.get(selectedModel, 'extension') || _.get(selectedModel, 'service') || (_.get(selectedModel, '_embedCode') ? 'Embedded Video' : '')">
|
|
86
103
|
</span>
|
|
87
104
|
<!-- TODO: evaluate the possibility of an data-ng-container here instead -->
|
|
88
105
|
<span class="delimiter"
|
|
89
|
-
*ngIf="selectedModel
|
|
106
|
+
*ngIf="_.get(selectedModel, 'bytesHuman') && _.get(selectedModel, 'bytesHuman') !== 'Empty'"></span>
|
|
90
107
|
<span class="file-size"
|
|
91
|
-
[innerText]="(selectedModel
|
|
108
|
+
[innerText]="(_.get(selectedModel, 'bytesHuman') && _.get(selectedModel, 'bytesHuman') !== 'Empty') ? _.get(selectedModel, 'bytesHuman') : ''"></span>
|
|
92
109
|
</div>
|
|
93
110
|
</div>
|
|
94
|
-
<p class="font-body image-title" [innerText]="selectedModel
|
|
95
|
-
<!--{{ ((selectedModel
|
|
111
|
+
<p class="font-body image-title" [innerText]="_.get(selectedModel, 'name') || 'No title'">
|
|
112
|
+
<!--{{ (_.get(selectedModel, 'data.name') || _.get(selectedModel, 'name') || 'No title') | limitTo:34 }}-->
|
|
96
113
|
</p>
|
|
97
114
|
<div class="position-action-area">
|
|
98
115
|
<div class="action-btns">
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
<a class="border-radius-default"
|
|
130
|
-
href="#"
|
|
131
|
-
matTooltip="Remove selection"
|
|
132
|
-
*ngIf="isSelector">
|
|
133
|
-
<!--<md-tooltip>Remove selection</md-tooltip>-->
|
|
134
|
-
<mat-icon class="clear-icon"
|
|
135
|
-
svgIcon="media_selector_clear"
|
|
136
|
-
aria-hidden="true"
|
|
137
|
-
aria-label="Clear">
|
|
138
|
-
Clear
|
|
139
|
-
</mat-icon>
|
|
140
|
-
</a>
|
|
141
|
-
</div>
|
|
142
|
-
</div>
|
|
116
|
+
<span (click)="showDetails(selectedModel)">
|
|
117
|
+
<a class="border-radius-default"
|
|
118
|
+
href="#"
|
|
119
|
+
[matTooltip]="'Show Details - ' + _.get(selectedModel, 'name')">
|
|
120
|
+
<mat-icon class="info-icon"
|
|
121
|
+
svgIcon="media_selector_info"
|
|
122
|
+
aria-hidden="true"
|
|
123
|
+
aria-label="Info"></mat-icon>
|
|
124
|
+
</a>
|
|
125
|
+
</span>
|
|
126
|
+
<span (click)="remove(selectedModel)">
|
|
127
|
+
<a class="border-radius-default"
|
|
128
|
+
href="#"
|
|
129
|
+
matTooltip="Permanently Delete from Libary"
|
|
130
|
+
*ngIf="!isSelector">
|
|
131
|
+
<mat-icon class="delete-icon"
|
|
132
|
+
svgIcon="media_selector_delete"
|
|
133
|
+
aria-hidden="true"
|
|
134
|
+
aria-label="Delete"></mat-icon>
|
|
135
|
+
</a>
|
|
136
|
+
<a class="border-radius-default"
|
|
137
|
+
href="#"
|
|
138
|
+
matTooltip="Remove Selection"
|
|
139
|
+
*ngIf="isSelector">
|
|
140
|
+
<mat-icon class="clear-icon"
|
|
141
|
+
svgIcon="media_selector_clear"
|
|
142
|
+
aria-hidden="true"
|
|
143
|
+
aria-label="Clear"></mat-icon>
|
|
144
|
+
</a>
|
|
145
|
+
</span>
|
|
143
146
|
</div>
|
|
144
147
|
</div>
|
|
145
148
|
</div>
|
|
@@ -1,14 +1,27 @@
|
|
|
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="
|
|
2
|
-
'image-thumb': selectedModel
|
|
3
|
-
'video-thumb' : selectedModel
|
|
4
|
-
'audio-thumb' : selectedModel
|
|
5
|
-
'document-thumb' : selectedModel
|
|
6
|
-
'word' : selectedModel
|
|
7
|
-
'pdf' : selectedModel
|
|
8
|
-
'generic-thumb' : !selectedModel
|
|
9
|
-
!selectedModel
|
|
10
|
-
&& !selectedModel
|
|
11
|
-
&& !selectedModel
|
|
12
|
-
&& !selectedModel
|
|
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"><ul cdkDropList class="list-inline media-selected-list media-selected-list-grid" cdkDropListOrientation="horizontal" (cdkDropListDropped)="drop($event)"><li cdkDrag class="media-selected-list-row media-selected-box media-selected-box-row" *ngFor="let selectedModel of dataSub | async"><div class="media-item selected-media-item" [id]="'libb_' + _.get(selectedModel, 'id') || id || uid" [ngClass]="{
|
|
2
|
+
'image-thumb': _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('image'),
|
|
3
|
+
'video-thumb' : _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('video'),
|
|
4
|
+
'audio-thumb' : _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('audio'),
|
|
5
|
+
'document-thumb' : _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('application'),
|
|
6
|
+
'word' : _.get(selectedModel, 'extension') && _.get(selectedModel, 'extension').includes('doc'),
|
|
7
|
+
'pdf' : _.get(selectedModel, 'extension') && _.get(selectedModel, 'extension').includes('pdf'),
|
|
8
|
+
'generic-thumb' : !_.get(selectedModel, 'mime') || (
|
|
9
|
+
!_.get(selectedModel, 'mime').includes('image')
|
|
10
|
+
&& !_.get(selectedModel, 'mime').includes('video')
|
|
11
|
+
&& !_.get(selectedModel, 'mime').includes('audio')
|
|
12
|
+
&& !_.get(selectedModel, 'mime').includes('application')
|
|
13
13
|
)
|
|
14
|
-
}"
|
|
14
|
+
}"><div class="image-draggable" [ngClass]="{
|
|
15
|
+
'image-thumb': _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('image'),
|
|
16
|
+
'video-thumb' : _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('video'),
|
|
17
|
+
'audio-thumb' : _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('audio'),
|
|
18
|
+
'document-thumb' : _.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('application'),
|
|
19
|
+
'word' : _.get(selectedModel, 'extension') && _.get(selectedModel, 'extension').includes('doc'),
|
|
20
|
+
'pdf' : _.get(selectedModel, 'extension') && _.get(selectedModel, 'extension').includes('pdf'),
|
|
21
|
+
'generic-thumb' : !_.get(selectedModel, 'mime') || (
|
|
22
|
+
!_.get(selectedModel, 'mime').includes('image')
|
|
23
|
+
&& !_.get(selectedModel, 'mime').includes('video')
|
|
24
|
+
&& !_.get(selectedModel, 'mime').includes('audio')
|
|
25
|
+
&& !_.get(selectedModel, 'mime').includes('application')
|
|
26
|
+
)
|
|
27
|
+
}" [ngStyle]="{'background': 'url(' + (_.get(selectedModel, '_thumbnailUrl') || _.get(selectedModel, 'bestImage.thumb') || _.get(selectedModel, 'meta.thumbnail_small') || (Stratus.BaseUrl + 'sitetheorycore/images/shapeholder-square.png') || '') + ') no-repeat center center', 'background-size': 'cover'}"><img class="shapeholder" [src]="Stratus.BaseUrl + 'sitetheorycore/images/shapeholder-square.png'"><div class="thumb-gradient"> </div><h4 *ngIf="!_.get(selectedModel, '_thumbnailUrl') && !_.get(selectedModel, 'bestImage.thumb') && !_.get(selectedModel, 'meta.thumbnail_small')" class="thumb-title position-center" [innerText]="_.get(selectedModel, 'name')"></h4><div class="thumb-icon"><mat-icon *ngIf="_.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('image')" svgIcon="media_selector_image" aria-hidden="true" aria-label="Image">Image</mat-icon><mat-icon *ngIf="_.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('video')" svgIcon="media_selector_video" aria-hidden="true" aria-label="Video">Video</mat-icon><mat-icon *ngIf="_.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('audio')" svgIcon="media_selector_audio" aria-hidden="true" aria-label="Audio">Audio</mat-icon><mat-icon *ngIf="_.get(selectedModel, 'mime') && _.get(selectedModel, 'mime').includes('application')" svgIcon="media_selector_document" aria-hidden="true" aria-label="Document">Document</mat-icon></div></div><div class="info-hover-container" (mouseover)="hovering=true" (mouseout)="hovering=false"><div class="border-radius-default image-hover-info" layout="column" layout-align="space-between center"><div class="format-size"><div class="small-all-caps file-details"><span class="file-type uppercase" [innerText]="_.get(selectedModel, 'extension') || _.get(selectedModel, 'service') || (_.get(selectedModel, '_embedCode') ? 'Embedded Video' : '')"></span><span class="delimiter" *ngIf="_.get(selectedModel, 'bytesHuman') && _.get(selectedModel, 'bytesHuman') !== 'Empty'"></span> <span class="file-size" [innerText]="(_.get(selectedModel, 'bytesHuman') && _.get(selectedModel, 'bytesHuman') !== 'Empty') ? _.get(selectedModel, 'bytesHuman') : ''"></span></div></div><p class="font-body image-title" [innerText]="_.get(selectedModel, 'name') || 'No title'"></p><div class="position-action-area"><div class="action-btns"><span (click)="showDetails(selectedModel)"><a class="border-radius-default" href="#" [matTooltip]="'Show Details - ' + _.get(selectedModel, 'name')"><mat-icon class="info-icon" svgIcon="media_selector_info" aria-hidden="true" aria-label="Info"></mat-icon></a></span><span (click)="remove(selectedModel)"><a class="border-radius-default" href="#" matTooltip="Permanently Delete from Libary" *ngIf="!isSelector"><mat-icon class="delete-icon" svgIcon="media_selector_delete" aria-hidden="true" aria-label="Delete"></mat-icon></a><a class="border-radius-default" href="#" matTooltip="Remove Selection" *ngIf="isSelector"><mat-icon class="clear-icon" svgIcon="media_selector_clear" aria-hidden="true" aria-label="Clear"></mat-icon></a></span></div></div></div></div></div></li><li class="library-toggle"><a class="position-anchor accent-background-hover border-default border-default-all color-primary" [matTooltip]="(libraryDisplay ? 'Open' : 'Close') + ' Media Library'" (click)="toggleLibrary()" [ngClass]="{'library-toggle-open': libraryDisplay}"><div aria-hidden="true"><mat-icon class="position-center" *ngIf="!libraryDisplay" svgIcon="media_selector_add" aria-hidden="false" aria-label="Add">Add</mat-icon><div class="btn-text small-all-caps position-center">Close Library</div><img class="shapeholder" [src]="Stratus.BaseUrl + 'sitetheorycore/images/shapeholder-square.png'"></div></a></li></ul></div></div></div>
|
|
File without changes
|
|
File without changes
|
|
@@ -48,22 +48,16 @@
|
|
|
48
48
|
<!--<img class="shapeholder" [src]="Stratus.BaseUrl + 'sitetheorycore/images/shapeholder-square.png'">-->
|
|
49
49
|
<!--</div>-->
|
|
50
50
|
|
|
51
|
-
<!-- This
|
|
51
|
+
<!-- This adds stratus-src lazy loading if bestImage isn't a third party service without image sizes, e.g. Video -->
|
|
52
52
|
<div class="image position-all"
|
|
53
|
-
*ngIf="has(selectedModel, 'version.bestImage._thumbnailUrl')
|
|
54
|
-
data-stratus-src
|
|
53
|
+
*ngIf="has(selectedModel, 'version.bestImage._thumbnailUrl')"
|
|
54
|
+
[attr.data-stratus-src]="!_.get(selectedModel, 'version.bestImage.service') ? true : false"
|
|
55
55
|
[ngStyle]="{'background': 'url(' + _.get(selectedModel, 'version.bestImage._thumbnailUrl') + ') no-repeat center center', 'background-size': 'cover'}">
|
|
56
56
|
</div>
|
|
57
57
|
|
|
58
|
-
<!-- This is here because images for Videos are not hosted by us, so we cannot include stratus-src with it -->
|
|
59
|
-
<div class="image position-all"
|
|
60
|
-
*ngIf="!has(selectedModel, 'version.bestImage._thumbnailUrl') && has(selectedModel, 'version.videos')"
|
|
61
|
-
[ngStyle]="{'background': 'url(' + _.get(selectedModel, 'version.videos[0].src') + ') no-repeat center center', 'background-size': 'cover'}">
|
|
62
|
-
</div>
|
|
63
|
-
|
|
64
58
|
<!-- Icon for items with no image -->
|
|
65
59
|
<div class="no-image-icon position-all"
|
|
66
|
-
*ngIf="!has(selectedModel, 'version.bestImage._thumbnailUrl')
|
|
60
|
+
*ngIf="!has(selectedModel, 'version.bestImage._thumbnailUrl')"
|
|
67
61
|
[ngClass]="_.get(selectedModel, 'contentType.class') + '-background-color'">
|
|
68
62
|
|
|
69
63
|
<mat-icon class="content-type-icon position-center"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<mat-progress-bar mode="indeterminate" *ngIf="!styled"></mat-progress-bar><ng-template #emptyList><div class="selected-list-header border-default border-default-bottom"><h3 [textContent]="'Selected ' + (type || 'Items')"></h3></div><div class="selected-message-box">Nothing has been selected.</div></ng-template><div class="selected-list" *ngIf="styled"><div class="selected-list-header border-default border-default-bottom" *ngIf="!empty; else emptyList"><h3 [textContent]="'Selected ' + (type || 'Items')"></h3><p class="note">Drag to reorder</p></div><div cdkDropList (cdkDropListDropped)="drop($event)"><div cdkDrag class="selected-list-row selected-box" [ngClass]="{'active': _.get(selectedModel, 'status') === 1, 'inactive' : _.get(selectedModel, 'status') !== 1, 'published': _.get(selectedModel, 'version.published') === 1, 'unpublished': _.get(selectedModel, 'version.published') !== 1}" *ngFor="let selectedModel of dataSub | async"><div class="custom-ghost-placeholder" *cdkDragPlaceholder></div><div class="selected-list-container"><div class="column-image position-anchor"><div class="image position-all" *ngIf="has(selectedModel, 'version.bestImage._thumbnailUrl')
|
|
1
|
+
<mat-progress-bar mode="indeterminate" *ngIf="!styled"></mat-progress-bar><ng-template #emptyList><div class="selected-list-header border-default border-default-bottom"><h3 [textContent]="'Selected ' + (type || 'Items')"></h3></div><div class="selected-message-box">Nothing has been selected.</div></ng-template><div class="selected-list" *ngIf="styled"><div class="selected-list-header border-default border-default-bottom" *ngIf="!empty; else emptyList"><h3 [textContent]="'Selected ' + (type || 'Items')"></h3><p class="note">Drag to reorder</p></div><div cdkDropList (cdkDropListDropped)="drop($event)"><div cdkDrag class="selected-list-row selected-box" [ngClass]="{'active': _.get(selectedModel, 'status') === 1, 'inactive' : _.get(selectedModel, 'status') !== 1, 'published': _.get(selectedModel, 'version.published') === 1, 'unpublished': _.get(selectedModel, 'version.published') !== 1}" *ngFor="let selectedModel of dataSub | async"><div class="custom-ghost-placeholder" *cdkDragPlaceholder></div><div class="selected-list-container"><div class="column-image position-anchor"><div class="image position-all" *ngIf="has(selectedModel, 'version.bestImage._thumbnailUrl')" [attr.data-stratus-src]="!_.get(selectedModel, 'version.bestImage.service') ? true : false" [ngStyle]="{'background': 'url(' + _.get(selectedModel, 'version.bestImage._thumbnailUrl') + ') no-repeat center center', 'background-size': 'cover'}"></div><div class="no-image-icon position-all" *ngIf="!has(selectedModel, 'version.bestImage._thumbnailUrl')" [ngClass]="_.get(selectedModel, 'contentType.class') + '-background-color'"><mat-icon class="content-type-icon position-center" [svgIcon]="getSvg(Stratus.BaseUrl + (_.get(selectedModel, 'contentType.iconResourcePath') || _.get(selectedModel, 'iconResourcePath'))) | async">Icon</mat-icon></div><img class="shapeholder" [src]="Stratus.BaseUrl + 'sitetheorycore/images/shapeholder-square.png'"></div><div class="column-title"><div class="content-type" *ngIf="has(selectedModel, 'contentType.iconResourcePath')"><mat-icon class="content-type-icon" [svgIcon]="getSvg(Stratus.BaseUrl + _.get(selectedModel, 'contentType.iconResourcePath')) | async">ContentType Icon</mat-icon><span class="comment content-type-name font-body" [ngClass]="((_.get(selectedModel, 'contentType.name') || _.get(selectedModel, 'name')) | lowercase) + '-color'" [textContent]="(_.get(selectedModel, 'contentType.name') || _.get(selectedModel, 'name')) + ((_.get(selectedModel, 'status') !== 1) ? ' (hidden)' : '') + ((_.get(selectedModel, 'version.published') !== 1) ? ' (unpublished)' : '')"></span></div><h3 [innerHTML]="_.get(selectedModel, 'version.bestIdentifier') || _.get(selectedModel, 'name') || (_.get(selectedModel, 'contentType.controller') === 'Content\\Module' ? _.get(selectedModel, 'version.internalIdentifier') : 'Untitled ' + _.get(selectedModel, 'contentType.name') + ' (' + _.get(selectedModel, 'id') + ')')"></h3><span class="routing" [textContent]="(has(selectedModel, 'routing') ? '/' + _.get(selectedModel, 'routing[0].url') : null) || _.get(selectedModel, 'description') || ''"></span></div><div class="column-action"><a mat-button [matTooltip]="'Delete ' + (_.get(selectedModel, 'contentType.name') || _.get(selectedModel, 'name'))" aria-label="Delete Item" class="btn btn-delete" (click)="remove(selectedModel)"><mat-icon svgIcon="selector_delete" aria-hidden="false" aria-label="Delete Item">Delete</mat-icon></a><a mat-button *ngIf="has(selectedModel, 'contentType.editUrl')" [matTooltip]="'Edit ' + (_.get(selectedModel, 'contentType.name') || _.get(selectedModel, 'name'))" aria-label="Edit Item in New Window" class="btn btn-edit" (click)="goToUrl(selectedModel, '_blank');"><mat-icon svgIcon="selector_edit" aria-hidden="false" aria-label="Edit Item">Edit</mat-icon></a></div></div></div></div></div>
|
|
@@ -94,8 +94,8 @@
|
|
|
94
94
|
|
|
95
95
|
<!-- Content Type Icon -->
|
|
96
96
|
<mat-icon aria-hidden="true"
|
|
97
|
-
*ngIf="model
|
|
98
|
-
[svgIcon]="getSvg(Stratus.BaseUrl + model
|
|
97
|
+
*ngIf="_.get(model, 'contentType.iconResourcePath')"
|
|
98
|
+
[svgIcon]="getSvg(Stratus.BaseUrl + _.get(model, 'contentType.iconResourcePath')) | async">
|
|
99
99
|
Icon
|
|
100
100
|
</mat-icon>
|
|
101
101
|
|
|
@@ -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">Content</mat-radio-button><mat-radio-button class="radio-button" value="url">URL</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-spinner diameter="50"></mat-spinner></mat-option><ng-container *ngIf="!isContentLoading"><mat-option *ngFor="let model of filteredContent" [value]="model"><mat-icon aria-hidden="true" *ngIf="model
|
|
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">Content</mat-radio-button><mat-radio-button class="radio-button" value="url">URL</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-spinner diameter="50"></mat-spinner></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>
|