acquia_dam-1.0.0-rc1/js/build/mediaRevisions.js

js/build/mediaRevisions.js
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.CKEditor5=t():(e.CKEditor5=e.CKEditor5||{},e.CKEditor5.mediaRevisions=t())}(self,(()=>(()=>{var e={"ckeditor5/src/core.js":(e,t,i)=>{e.exports=i("dll-reference CKEditor5.dll")("./src/core.js")},"ckeditor5/src/ui.js":(e,t,i)=>{e.exports=i("dll-reference CKEditor5.dll")("./src/ui.js")},"ckeditor5/src/widget.js":(e,t,i)=>{e.exports=i("dll-reference CKEditor5.dll")("./src/widget.js")},"dll-reference CKEditor5.dll":e=>{"use strict";e.exports=CKEditor5.dll}},t={};function i(a){var n=t[a];if(void 0!==n)return n.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,i),r.exports}i.d=(e,t)=>{for(var a in t)i.o(t,a)&&!i.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var a={};return(()=>{"use strict";i.d(a,{default:()=>c});var e=i("ckeditor5/src/core.js"),t=i("ckeditor5/src/ui.js");class n extends e.Plugin{static get requires(){return["DrupalMediaEditing"]}static get pluginName(){return"MediaRevisionsUI"}init(){const{editor:e}=this,i=this.editor.config.get("drupalMedia"),{dialogSettings:a={}}=i;e.ui.componentFactory.add("openMediaRevision",(i=>{const n=new t.ButtonView(i),r=e.commands.get("updateMediaRevision");n.set({label:Drupal.t("Update media"),withText:!0}),n.bind("isEnabled","isVisible").to(r,"isEnabled","isEnabled");const{mediaRevisionDialogUrl:s}=e.config.get("drupalMedia");return this.listenTo(n,"execute",(()=>{const t=e.model.document.selection.getSelectedElement(),i=a.dialogClass?a.dialogClass.split(" "):[];i.push("ui-dialog--narrow"),a.dialogClass=i.join(" "),a.autoResize=window.matchMedia("(min-width: 600px)").matches,a.width="auto";Drupal.ajax({dialog:a,dialogType:"modal",selector:".ckeditor5-dialog-loading-link",url:s,progress:{type:"fullscreen"},submit:{editor_object:{attributes:{"data-entity-uuid":t.getAttribute("drupalMediaEntityUuid"),"data-entity-revision":t.getAttribute("entityRevision"),"data-embed-code-id":t.getAttribute("drupalElementStyleMediaEmbedCode")}}}}).execute(),Drupal.ckeditor5.saveCallback=t=>{e.execute("updateMediaRevision",{entityRevision:t.attributes["data-entity-revision"]})}})),n}))}}i("ckeditor5/src/widget.js");function r(e){return!!e&&e.is("element","drupalMedia")}function s(e){for(const t of e){if(t.hasAttribute("data-drupal-media-preview"))return t;if(t.childCount){const e=s(t.getChildren());if(e)return e}}return null}class o extends e.Command{refresh(){const{editor:e}=this,{selection:t}=e.model.document;let i=t.getSelectedElement();i||(i=function(e){const t=e.getSelectedElement();return r(t)?t:e.getFirstPosition().findAncestor("drupalMedia")}(t)),this.isEnabled=r(i)&&i.hasAttribute("entityIsLatestRevision")&&!i.getAttribute("entityIsLatestRevision")}execute(e={}){const{entityRevision:t}=e,{editor:i}=this;i.model.change((e=>{const a=i.model.document.selection.getSelectedElement();e.setAttribute("entityRevision",t,a)}))}}class d extends e.Plugin{static get pluginName(){return"MediaRevisionsRepository"}init(){this._data=new WeakMap}getRevisionMetadata(e){if(e.hasAttribute("entityRevision")||this._data.set(e,{isLatest:!0}),this._data.get(e))return new Promise((t=>{t(this._data.get(e))}));const{mediaRevisionCheckUrl:t,revisionCsrfToken:i}=this.editor.config.get("drupalMedia"),a=e.getAttribute("drupalMediaEntityUuid"),n=e.getAttribute("entityRevision");return fetch(`${t}?uuid=${a}&revisionId=${n}`,{headers:{"X-Drupal-AcquiaDam-CSRF-Token":i}}).then((e=>e.json())).then((t=>(this._data.set(e,t),t)))}refreshModelMetadata(e){return this._data.delete(e),this.getRevisionMetadata(e)}}class l extends e.Plugin{static get requires(){return["DrupalMediaEditing",d]}static get pluginName(){return"MediaRevisionsEditing"}init(){const{editor:e}=this;e.model.schema.extend("drupalMedia",{allowAttributes:["entityRevision","entityIsLatestRevision"]});const i=e.plugins.get("DrupalMediaEditing");i.attrs.entityRevision="data-entity-revision";const{conversion:a}=e,n={model:{key:"entityRevision",name:"drupalMedia"},view:{name:"drupal-media",key:"data-entity-revision"}};a.for("dataDowncast").attributeToAttribute(n),a.for("upcast").attributeToAttribute(n).add((t=>{t.on("element:drupal-media",((t,i)=>{const[a]=i.modelRange.getItems();this.editor.plugins.get("MediaRevisionsRepository").getRevisionMetadata(a).then((t=>{a&&e.model.enqueueChange({isUndoable:!1},(e=>{e.setAttribute("entityIsLatestRevision",t.isLatest,a)}))}))}),{priority:"lowest"})})),a.for("editingDowncast").add((a=>{a.on("attribute:entityRevision",((t,i)=>{if(null===i.attributeOldValue||i.attributeOldValue===i.attributeNewValue)return;this.editor.plugins.get("MediaRevisionsRepository").refreshModelMetadata(i.item).then((t=>{i.item&&e.model.enqueueChange({isUndoable:!1},(e=>{e.setAttribute("entityIsLatestRevision",t.isLatest,i.item)}))}))})),a.on("attribute:entityRevision",((e,t,a)=>{const n=a.writer,r=t.item,o=a.mapper.toViewElement(t.item);let d=s(o.getChildren());if(d){if("ready"!==d.getAttribute("data-drupal-media-preview"))return;n.setAttribute("data-drupal-media-preview","loading",d)}else d=n.createRawElement("div",{"data-drupal-media-preview":"loading"}),n.insert(n.createPositionAt(o,0),d);i._fetchPreview(r).then((({label:e,preview:t})=>{d&&this.editor.editing.view.change((i=>{const a=i.createRawElement("div",{"data-drupal-media-preview":"ready","aria-label":e},(e=>{e.innerHTML=t}));i.insert(i.createPositionBefore(d),a),i.remove(d)}))}))})),a.on("attribute:entityIsLatestRevision",((e,i,a)=>{const{writer:n,mapper:r}=a,s=r.toViewElement(i.item);if(!0===i.attributeNewValue){const e=Array.from(s.getChildren()).find((e=>e.getCustomProperty("entityRevisionWarning")));return void(e&&n.remove(e))}const o=Drupal.t("This media item has a newer version available."),d=new t.Template({tag:"span",children:[{tag:"span",attributes:{class:"drupal-media__mediarevision-update-icon","data-cke-tooltip-text":o}}]}).render(),l=n.createRawElement("div",{class:"drupal-media__mediarevision-update"},((e,t)=>{t.setContentOf(e,d.outerHTML)}));n.setCustomProperty("entityRevisionWarning",!0,l),n.insert(n.createPositionAt(s,0),l)}),{priority:"low"})})),e.commands.add("updateMediaRevision",new o(e))}}class u extends e.Plugin{static get requires(){return[l,n]}static get pluginName(){return"MediaRevisions"}}const c={MediaRevisions:u}})(),a=a.default})()));

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc