UNPKG

@openveo/publish

Version:
1 lines 37.6 kB
"use strict";!function(){var e=angular.module("ov.publish",["ov.i18n","ov.entity","ov.player","ov.multirange","ui.tinymce","ngFileUpload"]);function t(n){return function(e,t){var a=n("translate")("PUBLISH.MEDIAS.STATE_"+e),i="label-danger";return 12==e?i="label-success":11==e?i="label-warning":0!==e&&(i="label-info"),"<span class='label "+i+"'>"+(a=0===e?a+"("+t+")":a)+"</span>"}}function a(e){var t=e.getCategoriesByKey();return function(e){return e&&t[e]?t[e].name:""}}e.config(["$routeProvider",function(e){e.when("/publish/medias-list",{templateUrl:"/publish/be/views/medias.html",controller:"MediaController",title:"PUBLISH.MEDIAS.PAGE_TITLE",access:"publish-access-videos-page",resolve:{categories:["publishService",function(e){return e.loadTaxonomyCategory()}],properties:["publishService",function(e){return e.loadProperties()}],platforms:["publishService",function(e){return e.loadPlatforms()}],groups:["entityService",function(e){return e.getAllEntities("groups")}],users:["entityService",function(e){return e.getAllEntities("users")}],settings:["entityService",function(e){return e.getEntity("settings",null,"publish-catalog")}]}}),e.when("/publish/media/:mediaId",{templateUrl:"/publish/be/views/editor.html",controller:"EditorController",title:"PUBLISH.EDITOR.PAGE_TITLE",access:"publish-editor-videos",resolve:{media:["$q","publishService","alertService","$route","$filter",function(e,t,a,i,n){var l=e.defer(),i=i.current.params.mediaId;return t.loadMedia(i).then(function(e){e.data.entity?e.data.entity.available?l.resolve.apply(l,arguments):(t.cacheClear("editor"),a.add("danger",n("translate")("PUBLISH.MEDIAS.NOT_READY"),8e3),l.reject({redirect:"/publish/medias"})):l.reject()},function(){l.reject()}),l.promise}]}}),e.when("/publish/properties-list",{templateUrl:"/publish/be/views/properties.html",controller:"PropertiesController",title:"PUBLISH.PROPERTIES.PAGE_TITLE",access:"publish-access-properties-page"}),e.when("/publish/categories-list",{templateUrl:"/publish/be/views/categories.html",controller:"CategoriesController",title:"PUBLISH.CATEGORIES.PAGE_TITLE",access:"publish-access-categories-page",resolve:{categories:["publishService",function(e){return e.loadTaxonomyCategory()}]}}),e.when("/publish/configuration",{templateUrl:"/publish/be/views/configuration.html",controller:"ConfigurationController",title:"PUBLISH.CONFIGURATION.PAGE_TITLE",access:"publish-access-conf-page",resolve:{publishConf:["publishService",function(e){return e.getConfiguration()}],groups:["entityService",function(e){return e.getAllEntities("groups")}],users:["entityService",function(e){return e.getAllEntities("users")}],properties:["entityService","publishName",function(e,t){return e.getAllEntities("properties",t)}]}})}]),e.filter("status",t),e.filter("category",a),e.filter("multisources",function(){return function(e){return e&&Array.isArray(e)&&1<e.length?'<span title="multisource" class="glyphicon glyphicon-th-large" aria-hidden="true"></span>':""}}),e.constant("publishName","publish"),t.$inject=["$filter"],a.$inject=["publishService"]}(),function(){function e(o,s,t,a,e,l,r,u,n,i,c,d,p,m,h,g,f,E){var S,b,I="videos",v=o.hasPermission("publish-manage-videos"),y=null;o.properties=i.data.entities,o.platforms=c.data.platforms,o.groups=d.data.entities,o.users=p.data.entities,o.settings=m.data.entity&&m.data.entity.value,o.isCollapsed=!0,o.fileToUpload=null,o.thumbToAdd=null,o.thumbToEdit=null,o.rights={},o.rights.add=o.checkAccess("publish-add-"+I),o.rights.publish=o.checkAccess("publish-publish-"+I),o.rights.editor=o.checkAccess("publish-editor-"+I),o.rights.retry=o.checkAccess("publish-retry-"+I),o.rights.upload=o.checkAccess("publish-upload-"+I),o.rights.update=o.checkAccess("publish-update-"+I),o.rights.remove=o.checkAccess("publish-delete-"+I);p=o.addFormContainer={};p.model={date:new Date,properties:{}};var T=o.editFormContainer={};T.model={},T.pendingEdition=!1,T.pluginName=f;var A=o.tableContainer={};A.pluginName=f;m={plugins:"lists link autolink autoresize textpattern paste",autoresize_bottom_margin:20,menubar:!1,toolbar:"undo redo | styleselect removeformat | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist | link",style_formats:[{title:"Headers",items:[{title:"Header 1",format:"h1"},{title:"Header 2",format:"h2"},{title:"Header 3",format:"h3"},{title:"Header 4",format:"h4"}]},{title:"Inline",items:[{title:"Bold",icon:"bold",format:"bold"},{title:"Italic",icon:"italic",format:"italic"},{title:"Underline",icon:"underline",format:"underline"},{title:"Code",icon:"code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"}]}],content_css:"/be/css/tinymce.css?"+(new Date).getTime(),paste_as_text:!0};function R(e){return[{value:null,name:s("translate")(e)}].concat(u.getCategoriesOptions())}function C(e,t){u.publishMedia(e.join(",")).then(function(){o.$emit("setAlert","success",s("translate")("PUBLISH.MEDIAS.PUBLISHED_SUCCESS"),4e3),t()})}function P(e,t){u.unpublishMedia(e.join(",")).then(function(){o.$emit("setAlert","success",s("translate")("PUBLISH.MEDIAS.UNPUBLISHED_SUCCESS"),4e3),t()})}function D(e,t){r.removeEntities(I,f,e.join(",")).then(function(){o.$emit("setAlert","success",s("translate")("PUBLISH.MEDIAS.REMOVE_SUCCESS"),4e3),t()})}function O(n,l){var r=[];return angular.forEach(o.properties,function(e,t){if("text"===e.type)r.push({key:e.id,type:l?"horizontalEditableInput":"horizontalInput",model:n,templateOptions:{label:e.name||e.id}});else if("list"===e.type){for(var a=[{value:null,name:s("translate")("CORE.UI.EMPTY")}],i=0;i<e.values.length;i++)a.push({value:e.values[i],name:e.values[i]});r.push({key:e.id,type:l?"horizontalEditableSelect":"horizontalSelect",model:n,defaultValue:a[0].value,templateOptions:{label:e.name||e.id,options:a}})}else"boolean"===e.type?r.push({key:e.id,type:l?"horizontalEditableCheckbox":"horizontalCheckbox",defaultValue:!1,model:n,templateOptions:{label:e.name||e.id}}):"dateTime"===e.type&&(n[e.id]=n[e.id]&&new Date(n[e.id]),r.push({key:e.id,type:l?"horizontalEditableDateTimePicker":"horizontalDateTimePicker",model:n,templateOptions:{label:e.name||e.id}}))}),r}o.settings&&o.settings.refreshInterval&&(b=e(function(){T.pendingEdition||(r.deleteCache(I,f),h.broadcast(function(){o.$emit("setAlert","info",s("translate")("PUBLISH.MEDIAS.RELOAD",null,{interval:o.settings.refreshInterval}),4e3)}))},1e3*o.settings.refreshInterval)),p.fields=[{key:"title",type:"horizontalInput",templateOptions:{label:s("translate")("PUBLISH.MEDIAS.ATTR_TITLE"),description:s("translate")("PUBLISH.MEDIAS.FORM_ADD_TITLE_DESC"),required:!0}},{key:"date",type:"horizontalDateTimePicker",templateOptions:{label:s("translate")("PUBLISH.MEDIAS.ATTR_DATE"),description:s("translate")("PUBLISH.MEDIAS.FORM_ADD_DATE_DESC"),required:!0}},{key:"leadParagraph",type:"horizontalTinymce",templateOptions:{label:s("translate")("PUBLISH.MEDIAS.ATTR_LEAD_PARAGRAPH"),description:s("translate")("PUBLISH.MEDIAS.FORM_ADD_LEAD_PARAGRAPH_DESC")},data:{tinymceOptions:m}},{key:"description",type:"horizontalTinymce",templateOptions:{label:s("translate")("PUBLISH.MEDIAS.ATTR_DESCRIPTION"),description:s("translate")("PUBLISH.MEDIAS.FORM_ADD_DESCRIPTION_DESC")},data:{tinymceOptions:m}},{key:"file",type:"horizontalFile",defaultValue:-1,templateOptions:{label:s("translate")("PUBLISH.MEDIAS.ATTR_MEDIA"),description:s("translate")("PUBLISH.MEDIAS.FORM_ADD_MEDIA_DESC"),acceptedTypes:".mp4,.tar,.zip",required:!0,progressBar:!1,onFileChange:function(e,t,a,i,n,l){o.fileToUpload=t}}},{key:"thumbnail",type:"horizontalFile",defaultValue:-1,templateOptions:{label:s("translate")("PUBLISH.MEDIAS.ATTR_THUMBNAIL"),description:s("translate")("PUBLISH.MEDIAS.FORM_ADD_THUMBNAIL_DESC"),acceptedTypes:".jpeg,.jpg",required:!1,progressBar:!1,onFileChange:function(e,t,a,i,n,l){o.thumbToAdd=t}}},{key:"category",type:"horizontalSelect",defaultValue:null,templateOptions:{label:s("translate")("PUBLISH.MEDIAS.ATTR_CATEGORY"),description:s("translate")("PUBLISH.MEDIAS.FORM_ADD_CATEGORY_DESC"),options:R("CORE.UI.NONE")}},{key:"groups",type:"horizontalSelect",templateOptions:{label:s("translate")("PUBLISH.MEDIAS.ATTR_GROUPS"),description:s("translate")("PUBLISH.MEDIAS.FORM_ADD_GROUPS_DESC"),options:n.buildSelectOptions(o.groups)},ngModelAttrs:{true:{value:"multiple"}}}],o.properties.length&&p.fields.push({noFormControl:!0,template:"<hr>"}),p.fields=p.fields.concat(O(p.model.properties)),o.toggleAddForm=function(){o.isCollapsed=!o.isCollapsed},p.onSubmit=function(t){var e,a=[],i={};for(e in t.groups&&(a=t.groups.filter(function(e){return e})),t.properties){var n=t.properties[e];i[e]=n instanceof Date?n.getTime():n}return(y=u.addMedia({title:t.title,date:t.date.getTime(),leadParagraph:t.leadParagraph,description:t.description,category:t.category,groups:a,file:o.fileToUpload,thumbnail:o.thumbToAdd,properties:i})).then(function(){r.deleteCache(I,f),y=null,o.isCollapsed=!0},function(){return y=null,t.file=null,l.reject()},function(e){t.file=Math.min(100,parseInt(100*e.loaded/e.total))})},T.entityType=I,T.fieldsBase=[{key:"title",type:"horizontalEditableInput",templateOptions:{label:s("translate")("PUBLISH.MEDIAS.ATTR_TITLE"),required:!0}},{key:"date",type:"horizontalEditableDateTimePicker",templateOptions:{label:s("translate")("PUBLISH.MEDIAS.ATTR_DATE"),required:!0}},{key:"leadParagraph",type:"horizontalEditableTinymce",templateOptions:{label:s("translate")("PUBLISH.MEDIAS.ATTR_LEAD_PARAGRAPH")},data:{tinymceOptions:m}},{key:"description",type:"horizontalEditableTinymce",templateOptions:{label:s("translate")("PUBLISH.MEDIAS.ATTR_DESCRIPTION")},data:{tinymceOptions:m}},{key:"thumbnail",type:"horizontalEditableFile",templateOptions:{label:s("translate")("PUBLISH.MEDIAS.ATTR_THUMBNAIL"),acceptedTypes:".jpeg,.jpg",required:!1,progressBar:!1,onFileChange:function(e,t,a,i,n,l){o.thumbToEdit=t}},link:function(t,e,a){var i=Date.now();t.show=function(){if(!t.originalModel.thumbnail)return s("translate")("CORE.UI.EMPTY");t.originalModel.thumbnail;var e=E.setUrlParameter(t.originalModel.thumbnail,"style","publish-thumb-200");return'<img class="img-thumbnail" src="'+E.setUrlParameter(e,"ts",i)+'">'}}},{key:"category",type:"horizontalEditableSelect",templateOptions:{label:s("translate")("PUBLISH.MEDIAS.ATTR_CATEGORY"),options:R("CORE.UI.NONE")}},{key:"groups",type:"horizontalEditableSelect",templateOptions:{label:s("translate")("PUBLISH.MEDIAS.ATTR_GROUPS"),options:n.buildSelectOptions(o.groups)},ngModelAttrs:{true:{value:"multiple"}}}],A.entityType=I,A.cellTheme="/publish/be/views/partial/publishCells.html",A.init={sortBy:"date",sortOrder:"dsc",notSortBy:["mediaId"]},A.filterBy=[{key:"query",value:"",label:s("translate")("PUBLISH.MEDIAS.QUERY_FILTER")},{key:"dateStart",type:"date",value:"",label:s("translate")("PUBLISH.MEDIAS.START_DATE_FILTER"),getValue:function(e){return e.getTime()}},{key:"dateEnd",type:"date",value:"",label:s("translate")("PUBLISH.MEDIAS.END_DATE_FILTER"),getValue:function(e){return e.setDate(e.getDate()+1),e.setMilliseconds(e.getMilliseconds()-1),e.getTime()}},{key:"categories",type:"select",value:null,label:s("translate")("PUBLISH.MEDIAS.CATEGORY_FILTER"),options:R("CORE.UI.ALL")},{key:"user",type:"autoComplete",value:null,label:s("translate")("PUBLISH.MEDIAS.OWNER_FILTER"),getValue:function(e){return e&&e.value||null},getSuggestions:function(e){return S&&(S.promise.status=!0,S.resolve()),S=l.defer(),r.getAllEntities("users",null,{include:["id","name"],sortBy:"name",sortOrder:"asc",query:e,useSmartSearch:0},S.promise).then(function(e){var t=[];return e.data.entities.forEach(function(e){t.push({value:e.id,name:e.name})}),l.when(t)})}}],A.header=[{key:"title",name:s("translate")("PUBLISH.MEDIAS.NAME_COLUMN"),class:["col-xs-8 col-sm-5"]},{key:"mediaId",type:"multisources",name:"",class:["hidden-xs col-sm-1"]},{key:"date",type:"date",name:s("translate")("PUBLISH.MEDIAS.DATE_COLUMN"),class:["col-xs-1"]},{key:"category",type:"category",name:s("translate")("PUBLISH.MEDIAS.CATEGORY_COLUMN"),class:["hidden-xs col-sm-2"]},{key:"state",type:"status",name:s("translate")("PUBLISH.MEDIAS.STATUS_COLUMN"),class:["col-xs-2"]},{key:"action",name:s("translate")("CORE.UI.ACTIONS_COLUMN"),class:["col-xs-1 col-sm-1"]}],A.actions=[{label:s("translate")("CORE.UI.VIEW"),condition:function(e){return 11==e.state||12==e.state},callback:function(e){e=e.link+"?lang="+g.getLanguage(),a.open(e,"_blank")}},{label:s("translate")("CORE.UI.SHARE"),condition:function(e){return 12==e.state},callback:function(e){e=e,o.$emit("setAlert","info",[s("translate")("PUBLISH.MEDIAS.SHARECODE"),'<br><br><div class="well well-sm"><code>','&lt;iframe width="768" height="500" ','src="'+t.protocol()+"://"+t.host()+":"+t.port()+e.link,"?fullscreen&lang="+g.getLanguage()+'"',' frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen&gt;&lt;/iframe&gt;',"</div>"].join(""),0)}},{label:s("translate")("PUBLISH.MEDIAS.PUBLISH"),condition:function(e){return o.rights.publish&&(o.checkContentAccess(e,"update")||v)&&11==e.state&&!e.saving},callback:function(e,t){C([e.id],t)},global:function(e,t){C(e,t)}},{label:s("translate")("PUBLISH.MEDIAS.UNPUBLISH"),condition:function(e){return o.rights.publish&&(o.checkContentAccess(e,"update")||v)&&12==e.state&&!e.saving},callback:function(e,t){P([e.id],t)},global:function(e,t){P(e,t)}},{label:s("translate")("PUBLISH.MEDIAS.CHAPTER_EDIT"),condition:function(e){return o.rights.editor&&(o.checkContentAccess(e,"update")||v)&&!e.saving&&(11==e.state||12==e.state)},callback:function(e){t.path("/publish/media/"+e.id)}},{label:s("translate")("PUBLISH.MEDIAS.RETRY"),condition:function(e){return o.rights.retry&&(o.checkContentAccess(e,"update")||v)&&0==e.state&&!e.saving},callback:function(e,t){var a;e=[e.id],a=t,u.retryMedia(e.join(",")).then(function(){o.$emit("setAlert","success",s("translate")("PUBLISH.MEDIAS.RETRY_SUCCESS"),4e3),a()})}},{label:s("translate")("CORE.UI.REMOVE"),condition:function(e){return o.rights.remove&&(o.checkContentAccess(e,"delete")||v)&&!e.locked&&!e.saving&&(6===e.state||11===e.state||12===e.state||0===e.state)},warningPopup:!0,callback:function(e,t){D([e.id],t)},global:function(e,t){D(e,t)}}];for(var U=0;U<o.platforms.length;U++){var L=o.platforms[U];A.actions.push({label:s("translate")("PUBLISH.MEDIAS.UPLOAD_"+L.toUpperCase()),condition:function(e){return o.rights.upload&&(o.checkContentAccess(e,"update")||v)&&6==e.state&&!e.saving},callback:function(e,t){var a,i;a=[e.id],e=this.platform,i=t,u.startMediaUpload(a.join(","),e).then(function(){o.$emit("setAlert","success",s("translate")("PUBLISH.MEDIAS.UPLOAD_START_SUCCESS"),4e3),i()})},platform:L})}T.init=function(e){var t,a,i={};for(t in T.fields=angular.copy(T.fieldsBase),e.mediaId||(T.fields=T.fields.filter(function(e){return"thumbnail"!==e.key})),e.groups=e.metadata.groups,e.user=e.metadata.user,e.date=new Date(e.date),e.properties)e.properties[t]&&(i[t]=e.properties[t].value||null);e.customProperties=i,e.metadata.user!=o.userInfo.id&&o.userInfo.id!=openVeoSettings.superAdminId&&!v||(a=n.buildSelectOptions(o.users),T.fields.push({key:"user",type:"horizontalEditableSelect",templateOptions:{label:s("translate")("PUBLISH.MEDIAS.ATTR_OWNER"),options:a}})),o.properties.length&&T.fields.push({noFormControl:!0,template:"<hr>"}),T.fields=T.fields.concat(O(e.customProperties,!0))},T.conditionToggleDetail=function(e){return 0!==e.state},T.conditionEditDetail=function(e){return o.rights.update&&(o.checkContentAccess(e,"update")||v)&&!e.locked&&0!==e.state},T.onSubmit=function(e){var t,a={};for(t in e.customProperties){var i=e.customProperties[t];a[t]=i instanceof Date?i.getTime():i}return u.updateMedia(e.id,{title:e.title,date:e.date.getTime(),leadParagraph:e.leadParagraph,description:e.description,thumbnail:o.thumbToEdit,properties:a,category:e.category,groups:e.groups,user:e.user}).then(function(){T.pendingEdition=!1})},o.$on("$destroy",function(){e.cancel(b),y&&(y.abort(),o.$emit("setAlert","warning",s("translate")("PUBLISH.MEDIAS.UPLOAD_CANCELED"),4e3))})}angular.module("ov.publish").controller("MediaController",e),e.$inject=["$scope","$filter","$location","$window","$interval","$q","entityService","publishService","utilService","properties","platforms","groups","users","settings","tableReloadEventService","i18nService","publishName","OvUrlFactory"]}(),function(){function e(a,i,n,l,r){var o="properties",s="list",e=[{value:"text",name:i("translate")("PUBLISH.PROPERTIES.FORM_ADD_TEXT_TYPE")},{value:s,name:i("translate")("PUBLISH.PROPERTIES.FORM_ADD_LIST_TYPE")},{value:"boolean",name:i("translate")("PUBLISH.PROPERTIES.FORM_ADD_BOOLEAN_TYPE")},{value:"dateTime",name:i("translate")("PUBLISH.PROPERTIES.FORM_ADD_DATE_TIME_TYPE")}];function u(e,t){n.removeEntities(o,r,e.join(",")).then(function(){l.cacheClear(o),a.$emit("setAlert","success",i("translate")("PUBLISH.PROPERTIES.REMOVE_SUCCESS"),4e3),t()})}a.rights={},a.rights.add=a.checkAccess("publish-add-"+o),a.rights.edit=a.checkAccess("publish-update-"+o),a.rights.delete=a.checkAccess("publish-delete-"+o);var t=a.tableContainer={};t.pluginName=r;var c=angular.copy(e);c.unshift({name:i("translate")("CORE.UI.EMPTY"),value:""}),t.entityType=o,t.filterBy=[{key:"query",value:"",label:i("translate")("PUBLISH.PROPERTIES.QUERY_FILTER")},{key:"types",type:"select",value:"",label:i("translate")("PUBLISH.PROPERTIES.TYPE_FILTER"),options:c}],t.header=[{key:"name",name:i("translate")("PUBLISH.PROPERTIES.NAME_COLUMN"),class:["col-xs-11"]},{key:"action",name:i("translate")("CORE.UI.ACTIONS_COLUMN"),class:["col-xs-1"]}],t.actions=[{label:i("translate")("CORE.UI.REMOVE"),warningPopup:!0,condition:function(e){return a.rights.delete&&!e.locked&&!e.saving},callback:function(e,t){u([e.id],t)},global:function(e,t){u(e,t)}}];t=a.editFormContainer={};t.model={},t.entityType=o,t.pluginName=r,t.fields=[{key:"name",type:"horizontalEditableInput",templateOptions:{label:i("translate")("PUBLISH.PROPERTIES.ATTR_NAME"),required:!0}},{key:"description",type:"horizontalEditableInput",templateOptions:{label:i("translate")("PUBLISH.PROPERTIES.ATTR_DESCRIPTION"),required:!0},expressionProperties:{"templateOptions.disabled":"!model.name"}},{key:"type",type:"horizontalEditableSelect",templateOptions:{label:i("translate")("PUBLISH.PROPERTIES.ATTR_TYPE"),required:!0,options:e}},{key:"listValues",type:"horizontalEditableTags",templateOptions:{label:i("translate")("PUBLISH.PROPERTIES.ATTR_LIST_VALUES"),required:!0,inputOptions:{type:"editableInput"}},hideExpression:'model.type !== "list"'}],t.conditionEditDetail=function(e){return a.rights.edit&&!e.locked},t.init=function(e){e.type===s&&(e.listValues=e.values||e.listValues,delete e.values)},t.onSubmit=function(e){return e.type===s?e.listValues=e.listValues.filter(function(e){return e}):delete e.listValues,e={name:(t=e).name,description:t.description,type:t.type},t.type===s&&t.listValues&&(e.values=t.listValues),n.updateEntity(o,r,t.id,e).then(function(){l.cacheClear(o)});var t};t=a.addFormContainer={};t.model={},t.fields=[{key:"name",type:"horizontalInput",templateOptions:{label:i("translate")("PUBLISH.PROPERTIES.ATTR_NAME"),required:!0,description:i("translate")("PUBLISH.PROPERTIES.FORM_ADD_NAME_DESC")}},{key:"description",type:"horizontalInput",templateOptions:{label:i("translate")("PUBLISH.PROPERTIES.ATTR_DESCRIPTION"),required:!0,description:i("translate")("PUBLISH.PROPERTIES.FORM_ADD_DESCRIPTION_DESC")},expressionProperties:{"templateOptions.disabled":"!model.name"}},{key:"type",type:"horizontalSelect",templateOptions:{label:i("translate")("PUBLISH.PROPERTIES.ATTR_TYPE"),required:!0,description:i("translate")("PUBLISH.PROPERTIES.FORM_ADD_TYPE_DESC"),options:e},expressionProperties:{"templateOptions.disabled":"!model.description"}},{key:"listValues",type:"horizontalTags",templateOptions:{label:i("translate")("PUBLISH.PROPERTIES.ATTR_LIST_VALUES"),description:i("translate")("PUBLISH.PROPERTIES.FORM_ADD_LIST_VALUES_DESC"),required:!0},hideExpression:'model.type !== "list"'}],t.onSubmit=function(e){var t={name:e.name,description:e.description,type:e.type};return e.type===s&&(t.values=e.listValues.filter(function(e){return e})),n.addEntities(o,r,[t]).then(function(){l.cacheClear(o)})}}angular.module("ov.publish").controller("PropertiesController",e),e.$inject=["$scope","$filter","entityService","publishService","publishName"]}(),function(){function e(t,a,e,i,n,l){function r(e){t.categoryTaxonomy.id=e.id,t.saveIsDisabled=0==t.list.length,t.listback=angular.copy(t.list),l.cacheClear("categories"),t.$emit("setAlert","success",a("translate")("PUBLISH.CATEGORIES.SAVE_SUCCESS"),4e3)}function o(){t.saveIsDisabled=0==t.list.length}t.categoryTaxonomy=i.data||{},t.newitem={items:[]},t.list=t.categoryTaxonomy.tree||[],0<t.list.length?t.listback=angular.copy(t.list):t.listback=[],t.saveIsDisabled=0==t.list.length,t.options={},t.newSubItem=function(){null==t.newitem.title||0==t.newitem.title.length?t.$emit("setAlert","warning",a("translate")("PUBLISH.CATEGORIES.EMPTY"),4e3):(t.newitem.id=String(Date.now()),t.list.push(angular.copy(t.newitem)),t.newitem={items:[]},t.saveIsDisabled=0==t.list.length)},t.resetCategory=function(){t.list=angular.copy(t.listback),t.$emit("setAlert","info",a("translate")("PUBLISH.CATEGORIES.RESET"),4e3)},t.$watchCollection("list",function(){t.saveIsEmpty=0==t.list.length}),t.saveCategory=function(){t.saveIsDisabled=!0,(void 0===t.categoryTaxonomy.id?e.addEntities("taxonomies",null,[{name:"categories",tree:t.list}]).then(function(e){t.rights.add=!1,t.rights.edit=t.rights.save=t.checkAccess("core-update-taxonomies"),r(e.data.entities[0])}):e.updateEntity("taxonomies",null,t.categoryTaxonomy.id,{tree:t.list}).then(function(e){e.data.entity={id:t.categoryTaxonomy.id},r(e.data.entity)})).catch(o)},t.rights={},t.rights.add=t.checkAccess("core-add-taxonomies")&&!t.categoryTaxonomy.id,t.rights.edit=t.checkAccess("core-update-taxonomies")&&t.categoryTaxonomy.id||t.rights.add,t.rights.save=t.rights.add||t.rights.edit}angular.module("ov.publish").controller("CategoriesController",e),e.$inject=["$scope","$filter","entityService","categories","publishName","publishService"]}(),function(){function e(e,l,a,r,i,t,n,o,s,u){var c=r("orderBy"),d=!1;function p(){l.ranges=(l.media[l.selectedData.value]||[]).concat(l.media.cut||[]),l.ranges.forEach(function(e){e.value=parseInt(e.value)}),c(l.ranges,"+value",!1)}var m,h=document.getElementById("editorPlayer");function g(e){var t;t=function(){m&&!e||(m=angular.element(h).controller("oplPlayer"),l.duration=e,l.media.chapters||(l.media.chapters=[]),l.media.cut||(l.media.cut=[]),l.media.tags||(l.media.tags=[]),null===l.endCut.range.value&&(l.endCut.range.value=l.duration),l.slider={views:n.TIME(l.duration),view:0})},i(function(){var e=l.$root.$$phase;"$apply"===e||"$digest"===e?t():l.$apply(t)},1)}function f(){l.upload&&(d=!0,l.upload.abort(),l.file=null)}function E(e,t){var a,i={};if(i[e]=[],t)delete(a=angular.copy(l.selectRow||l.modelToEdit))._depth,delete a.select,delete a.check,i[e].push(a);else if(Object.prototype.hasOwnProperty.call(l.media,e)){for(var n=0;n<l.media[e].length;n++)delete(a=angular.copy(l.media[e][n]))._depth,delete a.select,delete a.check,i[e].push(a);c(i[e],"+value",!1)}return i}function S(e){return l.media[l.selectedData.value].map(function(e){return e.id}).indexOf(e)}function b(e){var t;0<e.status&&!e.data.error&&(t={message:e.statusText}),d?(l.$emit("setAlert","warning",r("translate")("PUBLISH.EDITOR.UPLOAD_CANCELED"),4e3),d=!1):t?l.$emit("setAlert","danger",r("translate")("PUBLISH.EDITOR.SAVE_TAG_ERROR",null,t)):(l.$emit("setAlert","danger",r("translate")("PUBLISH.EDITOR.SAVE_ERROR")),401===status&&l.$parent.logout()),l.upload=null,l.file=null}function I(e){l.file=null,l.modelToEdit=e.data.poi,l.simpleMimeType=l.getFileMimeType();e=S(l.modelToEdit.id);e<0?l.media[l.selectedData.value].push(l.modelToEdit):l.media[l.selectedData.value][e]=l.modelToEdit,l.selectRow&&(l.selectRow.select=!1,l.selectRow=null),p(),l.isCollapsed=!0,l.upload=null}function v(){var e=E(l.selectedData.value,!0);"tags"===l.selectedData.value?l.upload=u.updateTag(l.media.id,l.file,e.tags[0]):"chapters"===l.selectedData.value&&(l.upload=u.updateChapter(l.media.id,e.chapters[0])),l.upload.then(I,b,function(e){l.file&&(l.file.progress=Math.min(100,parseInt(100*e.loaded/e.total)))})}function y(e,t){var a=l.media.cut.indexOf(e);-1===a&&!1!==t?l.media.cut.push(e):-1!==a&&!0!==t&&(e.select=!1,l.media.cut.splice(a,1))}function T(e){y(l.endCut.range,e)}function A(){if(l.endCut.isInArray&&l.beginCut.isInArray&&l.endCut.range.value<=l.beginCut.range.value)return l.endCut.range.value=l.duration,l.$emit("setAlert","warning",r("translate")("PUBLISH.EDITOR.DELETE_END_CUT"),8e3),T(!1),void(l.endCut.isInArray=!1);var e=E("cut");u.updateMedia(l.media.id,e).then(function(){l.selectRow&&(l.selectRow.select=!1,l.selectRow=null),p(),l.isCollapsed=!0}).catch(function(e){l.$emit("setAlert","danger",r("translate")("PUBLISH.EDITOR.SAVE_ERROR")),401===e.status&&l.$parent.logout()})}angular.element(h).on("needPoiConversion",function(e,t){a.post("/publish/videos/"+l.media.id+"/poi/convert",{duration:t}).then(function(e){l.media=e.data.entity,g(t)})}),angular.element(h).on("durationChange",function(e,t){g(t)}),angular.element(h).on("error",function(e,t){t&&(l.$emit("setAlert","danger",t.message),l.back())}),l.Math=window.Math,l.dataId=["chapters","tags"],l.selectedData={value:l.dataId[0]},l.media=o.data.entity,l.playerType="youtube"==l.media.type?"youtube":"html",l.isCollapsed=!0,l.selectRow=null,l.checkAllSelected=!1,l.modelToEdit={},l.backUpRow={},l.mediaPlayer=angular.copy(l.media),l.playerLanguage=t.getLanguage(),l.beginCut={isInArray:void 0,range:{value:0,name:"CORE.UI.BEGIN",description:"",type:"begin"}},l.endCut={isInArray:void 0,range:{value:null,name:"CORE.UI.END",description:"",type:"end"}},l.nbCheckRow=0,l.tinymceOptions={plugins:"lists link autolink autoresize textpattern paste",autoresize_bottom_margin:20,menubar:!1,toolbar:"undo redo | styleselect removeformat | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist | link",style_formats:[{title:"Headers",items:[{title:"Header 1",format:"h1"},{title:"Header 2",format:"h2"},{title:"Header 3",format:"h3"},{title:"Header 4",format:"h4"}]},{title:"Inline",items:[{title:"Bold",icon:"bold",format:"bold"},{title:"Italic",icon:"italic",format:"italic"},{title:"Underline",icon:"underline",format:"underline"},{title:"Code",icon:"code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"}]}],content_css:"/be/css/tinymce.css?"+(new Date).getTime(),paste_as_text:!0},l.$watch("selectedData.value",function(){l.updateGlobalCheck(),l.select(null),l.cancel(),p()}),l.checkAll=function(){for(var e=0;e<l.media[l.selectedData.value].length;e++)l.media[l.selectedData.value][e].check=l.checkAllSelected;l.nbCheckRow=l.checkAllSelected?l.media[l.selectedData.value].length:0},l.updateGlobalCheck=function(){l.nbCheckRow=0,angular.forEach(l.media[l.selectedData.value],function(e){e.check&&l.nbCheckRow++}),l.checkAllSelected=!(!l.media[l.selectedData.value]||!l.media[l.selectedData.value].length)&&l.nbCheckRow==l.media[l.selectedData.value].length},l.checkRow=function(e){e?(l.nbCheckRow++,l.checkAllSelected=l.nbCheckRow==l.media[l.selectedData.value].length):(l.checkAllSelected=!1,l.nbCheckRow--)},l.openNew=function(){l.modelToEdit={value:0},l.selectRow&&(l.selectRow.select=!1,l.selectRow=null),f(),l.simpleMimeType=null,l.isCollapsed=!1},l.openEdit=function(){l.isCollapsed?(angular.copy(l.selectRow,l.backUpRow),l.modelToEdit=l.selectRow,l.simpleMimeType=l.getFileMimeType(),l.isCollapsed=!1):l.cancel()},l.submit=function(){(l.modelToEdit.type?A:v)()},l.cancel=function(){l.file=null,l.errorFile=null,angular.copy(l.backUpRow,l.selectRow),l.isCollapsed=!0},l.select=function(e){if(l.isCollapsed){if(l.selectRow=null,l.ranges&&l.ranges.length)for(var t=0;t<l.ranges.length;t++)l.ranges[t]!==e||l.ranges[t].select||l.selectRow?l.ranges[t].select=!1:(l.ranges[t].select=!0,l.selectRow=l.ranges[t])}else l.cancel(),l.select(e)},l.selectAndOpen=function(e){e.select||l.select(e),l.openEdit()},l.getFileMimeType=function(){return l.modelToEdit&&l.modelToEdit.file?"image"==l.modelToEdit.file.mimeType.substr(0,"image".length)?"image":"video"==l.modelToEdit.file.mimeType.substr(0,"video".length)?"video":"audio"==l.modelToEdit.file.mimeType.substr(0,"audio".length)?"audio":l.modelToEdit.file.mimeType:null},l.changeSliderView=function(e,t){t=l.slider.view+t;t<0?t=0:t>=l.slider.views.length&&(t=l.slider.views.length-1),l.slider.view=t},l.releaseRange=function(e){var t=(e.select?l.selectRow:e).value;m.setTime(t),e.select&&l.selectRow.value===l.selectRowInitialValue||(e.type?A:v)(),e.select&&(l.selectRowInitialValue=e.value)},l.remove=function(){for(var e,t=l.media[l.selectedData.value],i={},a=i[l.selectedData.value]=[],n=0;n<t.length;n++)t[n].check&&a.push(t[n].id);l.selectRow=null,"tags"===l.selectedData.value?e=u.removeTags(l.media.id,i.tags):"chapters"===l.selectedData.value&&(e=u.removeChapters(l.media.id,i.chapters)),e.then(function(e){if(l.checkAllSelected)l.media[l.selectedData.value]=[],l.checkAllSelected=!1;else for(var t=0;t<i[l.selectedData.value].length;t++){var a=S(i[l.selectedData.value][t]);0<=a&&l.media[l.selectedData.value].splice(a,1)}p()}).catch(function(e){l.$emit("setAlert","danger",r("translate")("PUBLISH.EDITOR.SAVE_ERROR"))})},l.back=function(){f(),e.history.back()};var R=!0;l.updateTime=function(){R?l.editTime=l.modelToEdit.value:R=!0},l.updateRange=function(){l.myForm.time.$valid&&(l.modelToEdit.value=l.editTime)},l.$watch("modelToEdit.value",function(){l.updateTime()}),l.$watch("selectRow",function(e){e&&(l.selectRowInitialValue=e.value)}),l.$watchCollection("media.tags",p),l.$watchCollection("media.chapters",p),l.$watchCollection("media.cut",p),l.$watch("beginCut.isInArray",function(e,t){e!==t&&void 0!==t&&(y(l.beginCut.range,e),A())}),l.$watch("endCut.isInArray",function(e,t){e!==t&&void 0!==t&&(T(e),A())}),l.$watchCollection("media.cut",function(){if(l.beginCut.isInArray=!1,l.endCut.isInArray=!1,l.media.cut)for(var e=0;e<l.media.cut.length;e++)"begin"===l.media.cut[e].type&&(l.media.cut[e]=angular.extend(l.beginCut.range,l.media.cut[e]),l.beginCut.isInArray=!0),"end"===l.media.cut[e].type&&(l.media.cut[e]=angular.extend(l.endCut.range,l.media.cut[e]),l.endCut.isInArray=!0)}),l.$watch("isCollapsed",function(e,t){t||f()}),l.$on("$destroy",function(){f()}),l.editTime=0}angular.module("ov.publish").controller("EditorController",e),e.$inject=["$window","$scope","$http","$filter","$timeout","i18nService","ovMultirangeViews","media","publishName","publishService"]}(),function(){function e(e,t,a,i,n,l,r,o){var s=t.data.publishWatcher,u=t.data.publishTls,c=t.data.publishCatalog;e.rights={},e.rights.edit=e.checkAccess("publish-manage-publish-config"),e.youtubeConf=t.data.youtube,e.watcherSettings={model:{owner:s&&s.owner||null,group:s&&s.group||null},fields:[{key:"owner",type:"editableSelect",wrapper:"editableWrapper",templateOptions:{label:n("translate")("PUBLISH.CONFIGURATION.WATCHER_DEFAULT_OWNER"),options:i.buildSelectOptions(r.data.entities)}},{key:"group",type:"editableSelect",wrapper:"editableWrapper",templateOptions:{label:n("translate")("PUBLISH.CONFIGURATION.WATCHER_DEFAULT_GROUP"),options:i.buildSelectOptions(l.data.entities)}}],options:{formState:{showForm:e.rights.edit}},isFormSaving:!1},u&&(e.tlsSettings={model:{properties:u.properties||[]},fields:[{key:"properties",type:"editableTags",wrapper:["editableWrapper","bootstrapLabel","bootstrapHasError"],templateOptions:{label:n("translate")("PUBLISH.CONFIGURATION.TLS_PROPERTIES"),availableOptions:i.buildSelectOptions(o.data.entities)}}],options:{formState:{showForm:e.rights.edit}},isFormSaving:!1}),e.catalogSettings={model:{refreshInterval:c&&c.refreshInterval||null},fields:[{key:"refreshInterval",type:"editableInput",wrapper:["editableWrapper","bootstrapHasError"],validators:{number:{expression:function(e,t){return!e||/^[0-9]*$/.test(e)}}},templateOptions:{label:n("translate")("PUBLISH.CONFIGURATION.CATALOG_REFRESH_INTERVAL")}}],options:{formState:{showForm:e.rights.edit}},isFormSaving:!1},e.saveWatcherSettings=function(){return e.watcherSettings.isFormSaving=!0,a.saveWatcherSettings({owner:e.watcherSettings.model.owner||void 0,group:e.watcherSettings.model.group||void 0}).then(function(){e.watcherSettings.isFormSaving=!1,e.$emit("setAlert","success",n("translate")("CORE.UI.SAVE_SUCCESS"),4e3)}).catch(function(){e.watcherSettings.isFormSaving=!1})},e.saveTlsSettings=function(){return e.tlsSettings.isFormSaving=!0,a.saveTlsSettings({properties:e.tlsSettings.model.properties}).then(function(){e.tlsSettings.isFormSaving=!1,e.$emit("setAlert","success",n("translate")("CORE.UI.SAVE_SUCCESS"),4e3)}).catch(function(){e.tlsSettings.isFormSaving=!1})},e.saveCatalogSettings=function(){return e.catalogSettings.isFormSaving=!0,a.saveCatalogSettings({refreshInterval:e.catalogSettings.model.refreshInterval}).then(function(){e.catalogSettings.isFormSaving=!1,e.$emit("setAlert","success",n("translate")("CORE.UI.SAVE_SUCCESS"),4e3)}).catch(function(){e.catalogSettings.isFormSaving=!1})}}angular.module("ov.publish").controller("ConfigurationController",e),e.$inject=["$scope","publishConf","publishService","utilService","$filter","groups","users","properties"]}(),function(){function e(i,n,l,r,o){var t,s,u,c,a,d="/be/",p={};return{addMedia:function(e){var t=e.file,a=e.thumbnail;return delete e.file,delete e.thumbnail,o.upload({url:"/be/publish/addMedia",data:{info:o.json(e),file:t,thumbnail:a}})},updateMedia:function(e,t){var a=t.thumbnail;return delete t.thumbnail,l.deleteCache("videos",r),o.upload({url:"/be/publish/videos/"+e,data:{info:o.json(t),thumbnail:a}})},retryMedia:function(e){return l.deleteCache("videos",r),i.post(d+"publish/retryVideo/"+e)},publishMedia:function(e){return l.deleteCache("videos",r),i.post(d+"publish/publishVideo/"+e)},unpublishMedia:function(e){return l.deleteCache("videos",r),i.post(d+"publish/unpublishVideo/"+e)},startMediaUpload:function(e,t){return l.deleteCache("videos",r),i.post(d+"publish/startUpload/"+e+"/"+t)},loadProperties:function(){return t?n.when({data:{entities:t}}):l.getAllEntities("properties",r).then(function(e){return t=e.data.entities,n.when(e)})},getProperties:function(){return t},loadTaxonomyCategory:function(){return s?n.when({data:s}):(c={},u=[],i.get(d+"taxonomies?query=categories").then(function(e){return(s=e.data.entities&&e.data.entities[0])&&s.tree&&s.tree.forEach(function(e){a(e)}),n.when({data:s})}));function a(e){var t;e&&(t={value:e.id,name:e.title},c[e.id]=t,u.push(t),e.items&&e.items.length&&e.items.forEach(function(e){a(e)}))}},getTaxonomyCategory:function(){return s},getCategoriesOptions:function(){return u},getCategoriesByKey:function(){return c},loadPlatforms:function(){return a?n.when({data:{platforms:a}}):i.get(d+"publish/getPlatforms").then(function(e){return a=e.data.platforms,n.when(e)})},getPlatforms:function(){return a},loadMedia:function(t){return p[t]?n.when({data:{entity:p[t]}}):l.getEntity("videos",r,t).then(function(e){return p[t]=e.data.entity,n.when(e)})},getConfiguration:function(){return i.get(d+"publish/configuration/all")},saveWatcherSettings:function(e){return i.post(d+"publish/configuration/watcher/",e)},saveTlsSettings:function(e){return i.post(d+"publish/configuration/tls/",e)},saveCatalogSettings:function(e){return i.post(d+"publish/configuration/catalog/",e)},updateTag:function(e,t,a){return o.upload({url:"/be/publish/videos/"+e+"/tags/"+(a.id||""),data:{info:o.json(a),file:t}})},updateChapter:function(e,t){return o.upload({url:"/be/publish/videos/"+e+"/chapters/"+(t.id||""),data:{info:o.json(t)}})},removeTags:function(e,t){return i.delete(d+"publish/videos/"+e+"/tags/"+t.join(","))},removeChapters:function(e,t){return i.delete(d+"publish/videos/"+e+"/chapters/"+t.join(","))},cacheClear:function(e){if(e)switch(e){case"properties":t=null;break;case"categories":c=u=s=null;break;case"editor":p={};break;default:return}else t=s=null,p={}}}}angular.module("ov.publish").factory("publishService",e),e.$inject=["$http","$q","entityService","publishName","Upload"]}(),function(){function e(o){return{restrict:"E",require:["?ngModel"],replace:!0,templateUrl:"ov-publish-time.html",scope:{},link:function(t,e,a,i){function n(e){return("0"+e).slice(-2)}var l,r=i[0];r.$parsers.push(o("timeToMilliseconds")),r.$formatters.push(o("millisecondsToTime")),r.$render=function(){var e;void 0===r.$viewValue||null!==(e=r.$viewValue.match(/^([0-9]{2}):([0-5][0-9]):([0-5][0-9])$/))&&(t.hours=e[1],t.minutes=e[2],t.seconds=e[3])},r.$validators.notEmpty=function(e,t){return void 0!==e},r.$validators.range=function(e,t){return 0<=e&&e<=a.millisecondsMax},t.updateTime=function(){l=n(t.hours)+":"+n(t.minutes)+":"+n(t.seconds),r.$setViewValue(l)},t.formatInputs=function(){r.$valid&&(t.hours=n(t.hours),t.minutes=n(t.minutes),t.seconds=n(t.seconds))}}}}angular.module("ov.publish").directive("ovpTime",e),e.$inject=["$filter"]}(),angular,angular.module("ov.publish").filter("millisecondsToTime",function(){return function(e){var t=parseInt(e);if(!isNaN(t)){var a=Math.floor(t/36e5),i=Math.floor((t-3600*a*1e3)/6e4),e=Math.floor(t/1e3-60*(60*a+i)),t=function(e){return("0"+e).slice(-2)};return t(a)+":"+t(i)+":"+t(e)}}}),angular,angular.module("ov.publish").filter("timeToMilliseconds",function(){return function(e){if("string"==typeof e){e=e.match(/^([0-9]{2}):([0-5][0-9]):([0-5][0-9])$/);if(null!==e)return 1e3*(60*(60*parseInt(e[1])+parseInt(e[2]))+parseInt(e[3]))}}});