From b6c4dd49820586245faaec2c7fde48d4797bc585 Mon Sep 17 00:00:00 2001 From: charles Date: Thu, 17 Aug 2023 10:51:39 +0200 Subject: [PATCH] i18n strings --- .../res/dist/AdminWorkspaces.min.js | 2 +- .../res/dist/AdminWorkspaces.min.js.gz | Bin 32995 -> 32967 bytes .../res/js/AdminWorkspaces/editor/WsEditor.js | 12 ++++++++---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/frontend/front-srv/assets/access.settings/res/dist/AdminWorkspaces.min.js b/frontend/front-srv/assets/access.settings/res/dist/AdminWorkspaces.min.js index 1f66cef872..f92f479e50 100644 --- a/frontend/front-srv/assets/access.settings/res/dist/AdminWorkspaces.min.js +++ b/frontend/front-srv/assets/access.settings/res/dist/AdminWorkspaces.min.js @@ -1 +1 @@ -(()=>{"use strict";var e={173:e=>{e.exports=require("material-ui/styles")},880:e=>{e.exports=require("pydio/http/api")},590:e=>{e.exports=require("pydio/lang/observable")}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{n.r(r),n.d(r,{DataSource:()=>dt,DataSourceEditor:()=>An,DataSourcesBoard:()=>Rr,MetadataBoard:()=>Fr,TemplatePath:()=>ot,TemplatePathEditor:()=>ht,VirtualNodes:()=>Ct,Workspace:()=>C,WsAutoComplete:()=>J,WsDashboard:()=>$e});const e=require("react");var t=n.n(e);const o=require("create-react-class");var i=n.n(o);const a=require("prop-types");var l=n.n(a);const s=require("pydio");var c=n.n(s);const u=require("material-ui"),d=require("pydio/util/xml");var p=n.n(d),f=n(173),y=n(880),m=n.n(y);const h=require("pydio/util/lang");var g=n.n(h),b=n(590),v=n.n(b);const S=require("cells-sdk");function w(e){return w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w(e)}function E(e,t){for(var n=0;n0}},{key:"hasFolderRoots",value:function(){var e=this;return Object.keys(this.model.RootNodes).filter((function(t){return!l.rootIsTemplatePath(e.model.RootNodes[t])})).length>0}},{key:"save",value:function(){var e=this;return this.model.Attributes=JSON.stringify(this.internalAttributes),new S.WorkspaceServiceApi(m().getRestClient()).putWorkspace(this.model.Slug,this.model).then((function(t){e.initModel(t),e.observableModel=e.buildProxy(e.model)}))}},{key:"remove",value:function(){return new S.WorkspaceServiceApi(m().getRestClient()).deleteWorkspace(this.model.Slug)}},{key:"revert",value:function(){var e=S.IdmWorkspace.constructFromObject(this.snapshot||{});this.initModel(e),this.observableModel=this.buildProxy(this.model)}},{key:"isValid",value:function(){return this.model.Slug&&this.model.Label&&Object.keys(this.model.RootNodes).length>0}},{key:"isDirty",value:function(){return this.dirty}}])&&E(t.prototype,n),r&&E(t,r),Object.defineProperty(t,"prototype",{writable:!1}),l}(v());const P=require("lodash.debounce");var j=n.n(P);const x=require("pydio/util/path");var T=n.n(x),R=["muiTheme","children"];function N(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,R),i=q(n);return t().createElement("div",K({style:i.fillBlockV2Right},o),r)})),J=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&F(e,t)}(s,e);var n,r,o,i,a,l=(i=s,a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=V(i);if(a){var n=V(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===I(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function s(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s),t=l.call(this,e);var n=e.value,r=void 0===n?"":n;return t.debounced=j()((function(){var e=t.state.value;t.loadValues(e)}),300),t.state={nodes:[],value:r},t}return n=s,r=[{key:"componentDidMount",value:function(){var e=this,t=this.props.validateOnLoad,n=this.state.value;this.loadValues(n,(function(){var n=e.state,r=n.nodes,o=n.value;r.filter((function(e){return e.Path===o&&(!e.Type||"COLLECTION"==e.Type&&!e.MetaStore&&!e.MetaStore.resolution)})).map((function(t){e.loadValues(o+"/")})),t&&e.handleNewRequest(o)}))}},{key:"handleUpdateInput",value:function(e){this.debounced(),this.setState({value:e})}},{key:"handleNewRequest",value:function(e){var t,n,r=this.state.nodes,o=this.props,i=o.onChange,a=void 0===i?function(){}:i,l=o.onDelete,s=void 0===l?function(){}:l,c=o.onError,u=void 0===c?function(){}:c;if("string"==typeof e){if(""===e)return void s();t=e,(n=r.filter((function(t){return t.Path===e}))[0])||(n=r.filter((function(t){return 0===t.Path.indexOf(e)}))[0])}else"object"===I(e)&&(t=e.key,n=e.node);if(!n)return u();this.setState({value:t}),a(t,n)}},{key:"loadValues",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},r=e.lastIndexOf("/"),o=e.substr(0,r);if(null===this.lastSearch||this.lastSearch!==o){this.lastSearch=o,this.setState({loading:!0});var i=new S.AdminTreeServiceApi(PydioApi.getRestClient()),a=new S.TreeListNodesRequest,l=new S.TreeNode;l.Path=o+"/",a.Node=l,i.listAdminTree(a).then((function(e){t.setState({nodes:e.Children||[],loading:!1},(function(){return n()}))})).catch((function(){t.setState({loading:!1},(function(){return n()}))}))}}},{key:"render",value:function(){var e=this,n=this.state,r=n.value,o=n.nodes,i=n.loading,a=this.props,l=a.pydio,c=a.onDelete,d=a.skipTemplates,p=a.label,f=a.zDepth,y=void 0===f?0:f,m=function(e){return l.MessageHash["ajxp_admin."+e]||e},h=[];if(o){var g={};if(o.forEach((function(e){if(!(e.MetaStore&&e.MetaStore.resolution&&"cells"===e.Uuid||T().getBasename(e.Path).startsWith("."))){var t=s.renderNode(e,m);g[t.categ]||(g[t.categ]=[]),g[t.categ].push(t)}})),Object.keys(g).length>1){h.push({key:"h1",text:"",value:t().createElement(u.MenuItem,{primaryText:m("ws.complete.datasources"),style:{fontSize:13,fontWeight:500},disabled:!0})});var b=g[Object.keys(g)[0]];if(b.sort(LangUtils.arraySorter("text")),h.push.apply(h,M(b)),!d){h.push({key:"h2",text:"",value:t().createElement(u.MenuItem,{primaryText:m("ws.complete.templates"),style:{fontSize:13,fontWeight:500},disabled:!0})});var v=g[Object.keys(g)[1]];v.sort(LangUtils.arraySorter("text")),h.push.apply(h,M(v))}}else 1===Object.keys(g).length&&h.push.apply(h,M(g[Object.keys(g)[0]]))}return t().createElement(u.Paper,{zDepth:y,style:A({display:"flex",alignItems:"center",margin:"2px 0"},this.props.style)},t().createElement("div",{style:{position:"relative",flex:1,height:60}},t().createElement("div",{style:{position:"absolute",right:0,top:30,width:30}},t().createElement(u.RefreshIndicator,{size:30,left:0,top:0,status:i?"loading":"hide"})),t().createElement(U,{fullWidth:!0,searchText:r,onUpdateInput:function(t){return e.handleUpdateInput(t)},onNewRequest:function(t){return e.handleNewRequest(t)},onClose:function(){return e.handleNewRequest(r)},dataSource:h,filter:function(e,t){return 0===t.toLowerCase().indexOf(e.toLowerCase())},floatingLabelText:p||m("ws.complete.label"),openOnFocus:!0,menuProps:{maxHeight:200},hasRightBlock:!0})),t().createElement(H,null,t().createElement(u.IconButton,{style:{marginTop:2},iconStyle:{color:c?"#9e9e9e":"#eee"},iconClassName:"mdi mdi-delete",onClick:c,disabled:!c})))}}],o=[{key:"renderNode",value:function(e,n){var r=t().createElement("span",null,e.Path),o="mdi mdi-folder",i="folder";if(e.MetaStore&&e.MetaStore.resolution){o="mdi mdi-file-tree",i="templatePath";var a=e.MetaStore.resolution.split("\n").pop();r=t().createElement("span",null,e.Path," ",t().createElement("i",{style:{color:"#9e9e9e"}},"- ",n("ws.complete.resolves")," ",a))}else"LEAF"===e.Type&&(o="mdi mdi-file");return{key:e.Path,text:e.Path,node:e,categ:i,value:t().createElement(u.MenuItem,null,t().createElement(u.FontIcon,{className:o,color:"#607d8b",style:{float:"left",marginRight:8}})," ",r)}}}],r&&_(n.prototype,r),o&&_(n,o),Object.defineProperty(n,"prototype",{writable:!1}),s}(t().Component);const z=require("pydio/http/resources-manager");var Y=n.n(z);function G(e){return G="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},G(e)}function Q(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;if(!e)return Promise.resolve(t);var n=e.split("."),r=n.shift(),o=n.join(".");return Y().loadClass(r).then((function(n){var i=Z().getFunctionByName(o,n);if(!i){if("object"===ye(n)&&n[r]){var a=Z().getFunctionByName(o,n[r]);if(a)return a}if(t)return console.error("Cannot find editor component, using default instead",e,t),t;throw new Error("cannot find editor component")}return i})).catch((function(n){if(t)return console.error("Cannot find editor component, using default instead",e,t),t;throw n}))}var we=function(n){ue(o,n);var r=pe(o);function o(e){return ae(this,o),r.call(this,e)}return se(o,[{key:"togglePolicies",value:function(e,t){var n=this.props,r=n.policies,o=void 0===r?[]:r,i=n.onChangePolicies,a=o.filter((function(t){return t.Action!==e}));a.push(S.ServiceResourcePolicy.constructFromObject({Action:e,Effect:"allow",Subject:t?"profile:admin":"*"})),"READ"===e&&t&&(a=a.filter((function(e){return"WRITE"!==e.Action}))).push(S.ServiceResourcePolicy.constructFromObject({Action:"WRITE",Effect:"allow",Subject:"profile:admin"})),i(a)}},{key:"render",value:function(){var n,r,o=this,i=this.props,a=i.readonly,l=i.policies,s=i.pydio,c=i.muiTheme,d=function(e){return s.MessageHash["ajxp_admin.metadata."+e]||e},p=be(c);return l&&l.map((function(e){"profile:admin"===e.Subject&&"READ"===e.Action&&(n=!0),"profile:admin"===e.Subject&&"WRITE"===e.Action&&(r=!0)})),t().createElement(e.Fragment,null,t().createElement("div",null,t().createElement(u.Toggle,ie({label:d("toggle.read"),disabled:a,labelPosition:"left",toggled:n,onToggle:function(e,t){o.togglePolicies("READ",t)}},p.toggleFieldV2))),t().createElement("div",null,t().createElement(u.Toggle,ie({label:d("toggle.write"),labelPosition:"left",disabled:n||a,toggled:r,onToggle:function(e,t){o.togglePolicies("WRITE",t)}},p.toggleFieldV2))))}}]),o}(t().Component);we=(0,f.muiThemeable)()(we);var Ee=function(e){ue(r,e);var n=pe(r);function r(e){var t;return ae(this,r),(t=n.call(this,e)).state={namespace:t.cloneNs(e.namespace),m:function(t){return e.pydio.MessageHash["ajxp_admin.metadata."+t]||t},selectorNewKey:"",selectorNewValue:"",PoliciesBuilder:we},Y().loadClass("ReactMeta").then((function(e){t.setState({metaModule:e});var n=t.props.policiesBuilder;n&&Se(n,we).then((function(e){return t.setState({PoliciesBuilder:e})}))})),t}return se(r,[{key:"cloneNs",value:function(e){return S.IdmUserMetaNamespace.constructFromObject(JSON.parse(JSON.stringify(e)))}},{key:"componentWillReceiveProps",value:function(e){if(e.open!==this.props.open){var t=e.create,n=e.namespaces,r=this.cloneNs(e.namespace);t&&n.length&&(r.Order=n.map((function(e){return e.Order||0})).reduce((function(e,t){return Math.max(e,t)}),0)+1),this.setState({namespace:r})}}},{key:"save",value:function(){var e=this,t=this.state.namespace;$.putNS(t).then((function(){e.props.onRequestClose(),e.props.reloadList()}))}},{key:"getHideValue",value:function(){var e=this.state.namespace;try{return JSON.parse(e.JsonDefinition).hide}catch(e){return!1}}},{key:"setHideValue",value:function(e){var t=this.state.namespace,n=JSON.parse(t.JsonDefinition);t.JsonDefinition=JSON.stringify(re(re({},n),{},{hide:e})),this.setState({namespace:t})}},{key:"setGroupValue",value:function(e){var t=this.state.namespace,n=JSON.parse(t.JsonDefinition);t.JsonDefinition=JSON.stringify(re(re({},n),{},{groupName:e})),this.setState({namespace:t})}},{key:"getAdditionalData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.state.namespace;try{var n=JSON.parse(t.JsonDefinition).data||e;if(e.items&&n.split){var r=n.split(",").map((function(e){var t=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);s=!0);}catch(e){c=!0,o=e}finally{try{if(!s&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return l}}(e,t)||ee(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(e.split("|"),2);return{key:t[0],value:t[1]}}));return{items:r}}return n}catch(e){}return e}},{key:"setAdditionalDataKey",value:function(e,t){var n=this.state.namespace,r=JSON.parse(n.JsonDefinition),o=oe({},e,t);r.data=re(re({},r.data),o),n.JsonDefinition=JSON.stringify(r),this.setState({namespace:n})}},{key:"togglePolicies",value:function(e,t){var n=this,r=this.state.namespace,o=(r.Policies||[]).filter((function(t){return t.Action!==e}));o.push(S.ServiceResourcePolicy.constructFromObject({Action:e,Effect:"allow",Subject:t?"profile:admin":"*"})),r.Policies=o,this.setState({namespace:r},(function(){"READ"===e&&t&&n.togglePolicies("WRITE",!0)}))}},{key:"render",value:function(){var e=this,n=this.props,r=n.create,o=n.namespaces,i=n.pydio,a=n.readonly,l=n.muiTheme,s=this.state,d=s.namespace,p=s.m,f=s.PoliciesBuilder,y=s.metaModule,h=be(l);if(!y)return null;var g,b=y.TypeEditor;g=d.Label?d.Label:p("editor.title.create");var v="string";d.JsonDefinition&&(v=JSON.parse(d.JsonDefinition).type);var w,E,O=!1;if(d.Label?d.Namespace&&"usermeta-"!==d.Namespace||(O=!0,w=p("editor.ns.error")):(O=!0,E=p("editor.label.error")),r&&o.filter((function(e){return e.Namespace===d.Namespace})).length&&(O=!0,w=p("editor.ns.exists")),"choice"===v){var k=this.getAdditionalData({items:[]}).items;k&&k.length||(O=!0)}var C,P=function(e){if(Array.isArray(e))return te(e)}(C=new Set(o.map((function(e){return ve(e)})).filter((function(e){return e}))))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(C)||ee(C)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();d.Policies&&d.Policies.map((function(e){"profile:admin"===e.Subject&&e.Action,"profile:admin"===e.Subject&&e.Action}));var j=[t().createElement(u.FlatButton,{primary:!0,label:i.MessageHash[54],onClick:this.props.onRequestClose}),t().createElement(u.FlatButton,{primary:!0,disabled:O||a,label:i.MessageHash[53],onClick:function(){e.save()}})];"tags"!==v||a||j.unshift(t().createElement(u.FlatButton,{primary:!1,label:p("editor.tags.reset"),onClick:function(){new S.UserMetaServiceApi(m().getRestClient()).deleteUserMetaTags(d.Namespace,"*").then((function(){i.UI.displayMessage("SUCCESS",p("editor.tags.cleared").replace("%s",d.Namespace))})).catch((function(e){i.UI.displayMessage("ERROR",e.message)}))}}));var x={section:{marginTop:10,fontWeight:500,fontSize:12}};return t().createElement(u.Dialog,{title:g,actions:j,modal:!1,contentStyle:{width:520},open:this.props.open,onRequestClose:this.props.onRequestClose,autoScrollBodyContent:!0,bodyStyle:{padding:20}},t().createElement(b,{m:p,pydio:i,namespace:d,forcePrefix:"usermeta-",onChange:function(t){return e.setState({namespace:t})},readonly:a,create:r,labelError:E,nameError:w,styles:x}),t().createElement("div",{style:x.section},c().getInstance().MessageHash[310]),t().createElement(u.Toggle,ie({label:p("toggle.list-visibility"),disabled:a,labelPosition:"left",toggled:!this.getHideValue(),onToggle:function(t,n){e.setHideValue(!n)}},h.toggleFieldV2)),t().createElement(u.Toggle,ie({label:p("toggle.index"),disabled:a,labelPosition:"left",toggled:d.Indexable,onToggle:function(t,n){d.Indexable=n,e.setState({namespace:d})}},h.toggleFieldV2)),f&&t().createElement(f,{policies:d.Policies,readonly:a,onChangePolicies:function(t){return e.setState({namespace:re(re({},d),{},{Policies:t})})},pydio:i}),t().createElement("div",{style:x.section},p("order")),t().createElement(he,{floatingLabelText:p("order"),value:d.Order?d.Order:"0",onChange:function(t,n){d.Order=parseInt(n),e.setState({namespace:d})},fullWidth:!0,type:"number",readOnly:a,variant:"v2"}),t().createElement(ge,{floatingLabelFixed:!0,fullWidth:!0,floatingLabelText:p("groupName"),filter:function(e,t){return!e.indexOf||0===t.toLowerCase().indexOf(e.toLowerCase())},openOnFocus:!0,dataSource:P,searchText:ve(d)||"",onNewRequest:function(t,n){e.setGroupValue(t)},onUpdateInput:function(t){e.setGroupValue(t)},menuProps:{maxHeight:300,overflowY:"auto"}}))}}]),r}(t().Component);(Ee=(0,f.muiThemeable)()(Ee)).PropTypes={namespace:l().instanceOf(S.IdmUserMetaNamespace).isRequired,namespaces:l().arrayOf(S.IdmUserMetaNamespace),create:l().bool,reloadList:l().func,onRequestClose:l().func};const Oe=Ee;function ke(e){return ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ke(e)}function Ce(){return Ce=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?c.Attributes.QUOTA=e+"":(c.Attributes.QUOTA="0",delete c.Attributes.QUOTA)}}),t().createElement("hr",{style:k.divider}),t().createElement("div",{style:je({},k.legend)},v("ws.editor.other.layout")),t().createElement(Le,{fullWidth:!0,floatingLabelText:v("ws.editor.other.layout"),variant:"v2",value:c.Attributes.META_LAYOUT||"",onChange:function(e,t,n){c.Attributes.META_LAYOUT=n}},t().createElement(u.MenuItem,{primaryText:v("ws.editor.other.layout.default"),value:""}),t().createElement(u.MenuItem,{primaryText:v("ws.editor.other.layout.easy"),value:"meta.layout_sendfile"})))),h&&t().createElement(u.Paper,{zDepth:0,style:k.section},t().createElement("div",{style:k.title},"Workspace Visibility"),t().createElement("div",{style:je({},k.legend)},"WARNING: this is a dangerous zone, modify only if you know what you are doing!",!g&&t().createElement("span",{style:{fontWeight:500,cursor:"pointer"},onClick:function(){return n.setState({policiesEdit:!0})}}," - Edit Now")),t().createElement(h,{pydio:i,policies:c.Policies,onChangePolicies:function(e){return c.Policies=e},readonly:!g,showHeader:!1,forceCustom:!0,advancedLegend:t().createElement("span",null),advancedContainerStyle:g?{paddingBottom:300}:{},allowedActions:{READ:"Read",WRITE:"Write"}})))}}])&&Te(r.prototype,o),Object.defineProperty(r,"prototype",{writable:!1}),s}(e.Component);Ke=(0,f.muiThemeable)()(Ke);const We=require("pydio/model/data-model");var Ue=n.n(We);const qe=require("pydio/model/node");var He=n.n(qe),Je=c().requireLib("components").MaterialTable;const ze=i()({displayName:"WorkspaceList",mixins:[AdminComponents.MessagesConsumerMixin],propTypes:{dataModel:l().instanceOf(Ue()).isRequired,rootNode:l().instanceOf(He()).isRequired,currentNode:l().instanceOf(He()).isRequired,openSelection:l().func,advanced:l().boolean},getInitialState:function(){return{workspaces:[],loading:!1}},startLoad:function(){this.props.onLoadState&&this.props.onLoadState(!0),this.setState({loading:!0})},endLoad:function(){this.props.onLoadState&&this.props.onLoadState(!1),this.setState({loading:!1})},reload:function(){var e=this;this.startLoad(),C.listWorkspaces().then((function(t){e.endLoad(),e.setState({workspaces:t.Workspaces||[]})})).catch((function(t){e.endLoad()}))},componentDidMount:function(){this.reload()},openTableRows:function(e){e.length&&this.props.openSelection(e[0].workspace)},deleteAction:function(e){var t=this,n=this.props.pydio;n.UI.openConfirmDialog({message:n.MessageHash["settings.35"],destructive:[e.Label],validCallback:function(){new C(e).remove().then((function(){t.reload()}))}})},computeTableData:function(){var e=[],t=this.props.filterString;return this.state.workspaces.map((function(n){var r="";n.RootNodes&&(r=Object.keys(n.RootNodes).map((function(e){return g().trimRight(n.RootNodes[e].Path,"/")})).join(", "));var o=!1;if(n.Attributes)try{var i=JSON.parse(n.Attributes);!0!==i.ALLOW_SYNC&&"true"!==i.ALLOW_SYNC||(o=!0)}catch(e){}if(t){var a=t.toLowerCase(),l=n.Label&&n.Label.toLowerCase().indexOf(a)>=0,s=n.Description&&n.Description.toLowerCase().indexOf(a)>=0,c=r&&r.toLowerCase().indexOf(a)>=0;if(!(l||s||c))return}e.push({workspace:n,label:n.Label,description:n.Description,slug:n.Slug,summary:r,syncable:o})})),e.sort(g().arraySorter("label",!1,!0)),e},render:function(){var e=this,n=this.props,r=n.pydio,o=n.advanced,i=n.editable,a=n.tableStyles,l=n.openSelection,s=function(e){return r.MessageHash["ajxp_admin."+e]},c=function(e){return r.MessageHash["settings."+e]},u=[{name:"label",label:c("8"),style:{width:"20%",fontSize:15},headerStyle:{width:"20%"},sorter:{type:"string",default:"true"}},{name:"description",label:c("103"),hideSmall:!0,style:{width:"25%"},headerStyle:{width:"25%"},sorter:{type:"string"}},{name:"summary",label:s("ws.board.summary"),hideSmall:!0,style:{width:"25%"},headerStyle:{width:"25%"},sorter:{type:"string"}}];o&&u.push({name:"syncable",label:s("ws.board.syncable"),style:{width:"10%",textAlign:"center"},headerStyle:{width:"10%",textAlign:"center"},sorter:{type:"number",sortValue:function(e){return e.syncable?1:0}},renderCell:function(e){return t().createElement("span",{className:"mdi mdi-check",style:{fontSize:18,opacity:e.syncable?1:0}})}}),u.push({name:"slug",label:s("ws.5"),style:{width:"20%"},headerStyle:{width:"20%"},sorter:{type:"string"}});var d=this.state.loading,p=this.computeTableData(),f=[];i&&f.push({iconClassName:"mdi mdi-pencil",tooltip:"Edit Workspace",onClick:function(e){l(e.workspace)},disable:function(e){return!e.workspace.PoliciesContextEditable}});var y=r.user.getRepositoriesList();return f.push({iconClassName:"mdi mdi-open-in-new",tooltip:"Open this workspace...",onClick:function(e){r.triggerRepositoryChange(e.workspace.UUID)},disable:function(e){return!y.has(e.workspace.UUID)}}),i&&f.push({iconClassName:"mdi mdi-delete",onClick:function(t){e.deleteAction(t.workspace)},disable:function(e){return!e.workspace.PoliciesContextEditable}}),t().createElement(Je,{data:p,columns:u,actions:f,onSelectRows:i?this.openTableRows.bind(this):null,deselectOnClickAway:!0,showCheckboxes:!1,emptyStateString:s(d?"loading":"ws.board.empty"),masterStyles:a,paginate:[10,25,50,100],defaultPageSize:25,storageKey:"console.workspaces.list"})}});function Ye(){return Ye=Object.assign?Object.assign.bind():function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"flat";if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),(t=a.call(this)).internalInvalid=!1,t.nameInvalid=!1,t.existingNames=n,e)t.model=e,e.StorageConfiguration||(e.StorageConfiguration={}),t.snapshot=JSON.parse(JSON.stringify(e));else switch(t.model=new S.ObjectDataSource,t.model.EncryptionMode=S.ObjectEncryptionMode.constructFromObject("CLEAR"),t.model.StorageType=S.ObjectStorageType.constructFromObject("LOCAL"),r){case"flat":t.model.StorageConfiguration={folder:"",normalize:"false"},t.model.FlatStorage=!0;break;case"structured":t.model.StorageConfiguration={folder:"",normalize:"false"},t.model.FlatStorage=!1;break;case"internal":t.model.StorageConfiguration={folder:"",normalize:"false",cellsInternal:"true"},t.model.FlatStorage=!0}return t.observableModel=t.buildProxy(t.model),t}return t=l,n=[{key:"buildProxy",value:function(e){var t=this;return new Proxy(e,{set:function(e,n,r){var o=r;if("StorageType"===n)e.StorageConfiguration={},"LOCAL"===o?e.StorageConfiguration={folder:"",normalize:"false"}:"S3"===o?e.StorageConfiguration={customEndpoint:""}:"GCS"===o&&(e.StorageConfiguration={jsonCredentials:""}),t.internalInvalid=!1,e.ApiKey=e.ApiSecret="";else if("Name"===n)o=g().computeStringSlug(o).replace("-","").substr(0,33),t.existingNames&&t.existingNames.indexOf(o)>-1?t.nameInvalid=!0:t.nameInvalid=!1;else if("folder"===n)"/"!==o[0]&&(o="/"+o);else{if("invalid"===n)return t.internalInvalid=r,t.notify("update"),!0;"PeerAddress"===n&&"ANY"===r&&(o="")}return e[n]=o,t.notify("update"),!0},get:function(e,n){var r=e[n];return r instanceof Array?r:r instanceof Object?t.buildProxy(r):"StorageType"===n?r||"LOCAL":"PeerAddress"===n?r||"ANY":r}})}},{key:"getModel",value:function(){return this.observableModel}},{key:"isValid",value:function(){return!this.internalInvalid&&!this.nameInvalid&&("S3"===this.model.StorageType||"AZURE"===this.model.StorageType?this.model.ApiKey&&this.model.ApiSecret&&this.model.Name&&(this.model.ObjectsBucket||this.model.StorageConfiguration.bucketsRegexp):"GCS"===this.model.StorageType?this.model.Name&&this.model.ObjectsBucket&&this.model.StorageConfiguration&&this.model.StorageConfiguration.jsonCredentials:this.model.Name&&this.model.StorageConfiguration&&this.model.StorageConfiguration.folder)}},{key:"getNameError",value:function(e){return this.nameInvalid?e("name.inuse"):null}},{key:"deleteSource",value:function(){return new S.ConfigServiceApi(ut.getRestClient()).deleteDataSource(this.model.Name)}},{key:"resyncSource",value:function(){var e=new S.JobsServiceApi(ut.getRestClient()),t=new S.RestUserJobRequest;return t.JobName="datasource-resync",t.JsonParameters=JSON.stringify({dsName:this.model.Name}),e.userCreateJob("datasource-resync",t)}},{key:"revert",value:function(){return this.model=this.snapshot,this.observableModel=this.buildProxy(this.model),this.snapshot=JSON.parse(JSON.stringify(this.model)),this.observableModel}},{key:"saveSource",value:function(){var e=this;return new S.ConfigServiceApi(ut.getRestClient()).putDataSource(this.model.Name,this.model).then((function(t){e.snapshot=JSON.parse(JSON.stringify(e.model)),e.notify("update")}))}},{key:"stripPrefix",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(!t)return e;var n={};return Object.keys(e).map((function(r){n[r.replace(t,"")]=e[r]})),n}},{key:"getDataWithPrefix",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(""===t)return this.model;var n={};return Object.keys(this.model).forEach((function(r){n[t+r]=e.model[r],"EncryptionMode"!==r||e.model[r]||(n[t+r]="CLEAR")})),n}}],r=[{key:"loadDatasources",value:function(){return new S.ConfigServiceApi(ut.getRestClient()).listDataSources()}},{key:"loadVersioningPolicies",value:function(){return new S.ConfigServiceApi(ut.getRestClient()).listVersioningPolicies()}},{key:"loadStatuses",value:function(){return new S.ConfigServiceApi(ut.getRestClient()).listServices("STARTED")}},{key:"loadEncryptionKeys",value:function(){return new S.ConfigServiceApi(ut.getRestClient()).listEncryptionKeys(new S.EncryptionAdminListKeysRequest)}},{key:"loadBuckets",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=new S.ConfigServiceApi(ut.getRestClient()),r=new S.RestListStorageBucketsRequest;return r.DataSource=e,t&&(r.BucketsRegexp=t),n.listStorageBuckets(r)}},{key:"createBucket",value:function(e,t){var n=new S.ConfigServiceApi(ut.getRestClient()),r=new S.RestCreateStorageBucketRequest;return r.DataSource=e,n.createStorageBucket(t,r)}}],n&&at(t.prototype,n),r&&at(t,r),Object.defineProperty(t,"prototype",{writable:!1}),l}(ct);function pt(e){return pt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pt(e)}function ft(e,t){for(var n=0;n=0;return v?f||(b=t().createElement("span",null,b," ",t().createElement("span",{className:"mdi mdi-alert"})," ",y("card.cleanOnDelete-legend-on"))):b=t().createElement("span",null,b," ",t().createElement("span",{className:"mdi mdi-alert"})," ",y("card.cleanOnDelete-legend-off")),a?t().createElement("div",{style:{display:"flex"}},t().createElement("div",{style:{flex:1,lineHeight:"40px"}},g),t().createElement("div",{style:{display:"flex"}},t().createElement(u.IconButton,{iconClassName:"mdi mdi-content-save",onClick:this.save.bind(this),disabled:!p,tooltip:"Save"}),t().createElement(u.IconButton,{iconClassName:"mdi mdi-close",onClick:function(){return s()},tooltip:"Close"}))):t().createElement("div",{style:{backgroundColor:"#f5f5f5",paddingBottom:12}},t().createElement("div",{style:{padding:i?"16px 24px 8px":"10px 24px 0",fontWeight:500,display:"flex",alignItems:"center"}},t().createElement("div",{style:{flex:1}},y("card.title")),!i&&t().createElement(u.FlatButton,{onClick:this.save.bind(this),primary:!0,disabled:!p,label:y("save")})),t().createElement("div",{style:{margin:"6px 24px 0 24px",border:"1px solid #e0e0e0"}},g),t().createElement("div",{style:{margin:"12px 24px",opacity:v?1:.4}},t().createElement(u.Checkbox,{disabled:i,checked:f,onCheck:function(t,n){e.setState({cleanOnDelete:n,dirty:!0})},label:b})))}}])&&ft(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),l}(t().Component);function gt(e){return gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gt(e)}function bt(){return bt=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:"",n=this.props.peerAddress,r=this.state.searchText,o=t;if(!t&&r){var i=r.lastIndexOf("/");o=r.substr(0,i)}if(null!==this.lastSearch&&this.lastSearch===o)return Promise.resolve();this.lastSearch=o;var a=new S.ConfigServiceApi(m().getRestClient()),l=new S.RestListPeerFoldersRequest;return l.PeerAddress="ANY"===n?"":n,l.Path=o,this.setState({loading:!0}),a.listPeerFolders(n,l).then((function(t){var n=t.Children||[];n=n.map((function(e){return"/"!==e.Path[0]&&(e.Path="/"+e.Path),e})),e.setState({nodes:n,loading:!1})})).catch((function(){e.setState({loading:!1})}))}},{key:"createFolder",value:function(e){var t=this,n=this.props,r=n.peerAddress,o=n.pydio,i=this.state.value,a=new S.ConfigServiceApi(m().getRestClient()),l=new S.RestCreatePeerFolderRequest;l.PeerAddress="ANY"===r?"":r,l.Path=i+"/"+e,a.createPeerFolder(r,l).then((function(e){t.lastSearch=null,t.loadValues(i).then((function(){t.handleNewRequest({key:l.Path}),t.setState({searchText:l.Path})}))})).catch((function(e){o.UI.displayMessage("ERROR",e.message)}))}},{key:"renderNode",value:function(e){var n=T().getBasename(e.Path),r=T().getDirname(e.Path),o=t().createElement("span",null,e.Path);return g().computeStringSlug(n)!==n?o=t().createElement("span",null,t().createElement("span",null,r),"/",t().createElement("span",{style:{color:"#c62828"}},n)):e.MetaStore&&e.MetaStore.symlink&&(o=t().createElement("span",null,t().createElement("span",null,r),"/",t().createElement("span",{style:{color:"#1976d2"}},n))),{key:e.Path,text:e.Path,invalid:!1,value:t().createElement(u.MenuItem,null,t().createElement(u.FontIcon,{className:"mdi mdi-folder",color:"#616161",style:{float:"left",marginRight:8}})," ",o)}}},{key:"showCreateDialog",value:function(){var e=this,t=this.props.pydio,n=this.state.value,r=function(e){return t.MessageHash["ajxp_admin.ds.editor.selector."+e]||e};t.UI.openComponentInModal("PydioReactUI","PromptDialog",{dialogTitle:r("mkdir"),legendId:r("mkdir.legend").replace("%s",n),fieldLabelId:r("mkdir.field"),submitValue:function(t){t&&e.createFolder(t)}})}},{key:"render",value:function(){var e=this,n=this.state,r=n.nodes,o=n.loading,i=n.exist,a=n.value,l=n.searchText,s=this.props,c=s.fieldLabel,d=s.pydio,p=[];r&&r.forEach((function(t){p.push(e.renderNode(t))}));var f=l||a;return t().createElement("div",{style:{position:"relative",marginTop:-5}},t().createElement("div",{style:{position:"absolute",right:6,top:29,width:30,zIndex:1}},t().createElement(u.RefreshIndicator,{size:25,left:0,top:0,status:o?"loading":"hide"})),a&&i&&!o&&(!l||l===a)&&t().createElement("div",{style:{position:"absolute",right:0,zIndex:1,top:18}},t().createElement(u.IconButton,{iconClassName:"mdi mdi-folder-plus",iconStyle:{color:"#9e9e9e"},onClick:function(){return e.showCreateDialog()},tooltip:d.MessageHash["ajxp_admin.ds.editor.selector.mkdir"],tooltipPosition:"top-center"})),t().createElement(qt,{fullWidth:!0,searchText:f,onUpdateInput:this.handleUpdateInput.bind(this),onNewRequest:this.handleNewRequest.bind(this),dataSource:p,hintText:c,filter:function(e,t){return 0===t.toLowerCase().indexOf(e.toLowerCase())},openOnFocus:!0,menuProps:{maxHeight:200}}))}}]),r}(t().Component),Jt=function(e){It(r,e);var n=Bt(r);function r(e){var t;return At(this,r),(t=n.call(this,e)).state={peerAddresses:[],invalid:!1,m:function(t){return e.pydio.MessageHash["ajxp_admin.ds.editor."+t]||t}},t}return Mt(r,[{key:"compareAddresses",value:function(e,t){var n=e.split("|"),r=t.split("|");return r.filter((function(e){return n.indexOf(e)>-1})).length||n.filter((function(e){return r.indexOf(e)>-1})).length}},{key:"componentDidMount",value:function(){var e=this,t=this.props.model;new S.ConfigServiceApi(m().getRestClient()).listPeersAddresses().then((function(n){var r=n.PeerAddresses||[];if(1!==r||t.PeerAddress||(t.PeerAddress=r[0]),e.setState({peerAddresses:r}),t.PeerAddress&&-1===r.indexOf(t.PeerAddress)){var o=r.filter((function(n){return e.compareAddresses(n,t.PeerAddress)}));o.length?t.PeerAddress=o[0]:e.setState({invalidAddress:t.PeerAddress})}}))}},{key:"baseIsInvalid",value:function(e){var t=this.state.m,n=!1,r=T().getBasename(e);return g().trim(e,"/").split("/").length<2?n=t("selector.error.depth"):g().computeStringSlug(r)!==r&&(n=t("selector.error.dnsname")),n}},{key:"onPathChange",value:function(e,t){var n=this.props.model,r=this.baseIsInvalid(e);n.invalid=r,n.StorageConfiguration.folder=e,t?void 0!==n.StorageConfiguration.create&&delete n.StorageConfiguration.create:n.StorageConfiguration.create="true",this.setState({invalid:r})}},{key:"onPeerChange",value:function(e){var t=this.props.model,n=this.state.invalidAddress;e!==n&&(t.PeerAddress=e,n&&this.setState({invalidAddress:null}))}},{key:"render",value:function(){var e=this,n=this.props,r=n.model,o=n.pydio,i=n.styles,a=this.state,l=a.peerAddresses,s=a.invalidAddress,c=a.invalid,d=a.m,p=Rt(l);return p=["ANY"].concat(Rt(p)),s&&"ANY"!==s&&(p=[s].concat(Rt(p))),t().createElement("div",null,t().createElement("div",{style:{paddingBottom:8}},t().createElement("div",{style:i.subLegend},d("storage.legend.fs.peer")),t().createElement(Ut,{value:r.PeerAddress||"",variant:"v2",hintText:d("selector.peer")+" *",onChange:function(t,n,r){return e.onPeerChange(r)},fullWidth:!0},p.map((function(e){var n=d("selector.peer.any");return"ANY"!==e&&(n=d("selector.peer.word")+" : "+e.replace("|"," | ")+(e===s?" ("+d("selector.peer.invalid")+")":"")),t().createElement(u.MenuItem,{value:e,primaryText:n})})))),t().createElement("div",null,t().createElement("div",{style:xt(xt({},i.subLegend),{},{paddingBottom:6})},d("storage.legend.fs.path")),r.PeerAddress&&t().createElement(Ht,{pydio:o,value:r.StorageConfiguration.folder,peerAddress:r.PeerAddress,onChange:this.onPathChange.bind(this),fieldLabel:d("selector.completer")+(r.StorageConfiguration.create?" ("+d("selector.completer.create")+")":"")+" *",hintText:d("selector.completer.hint")}),!r.PeerAddress&&t().createElement(Wt,{style:{marginTop:-3},fullWidth:!0,variant:"v2",disabled:!0,value:r.StorageConfiguration.folder,floatingLabelText:d("selector.folder")+" *",hintText:d("selector.folder.hint")})),c&&t().createElement("div",{style:{color:"#c62828"}},c))}}]),r}(t().Component);const zt=require("pydio/util/dom");var Yt=n.n(zt);function Gt(e){return Gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Gt(e)}function Qt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function $t(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&this.setState({currentPane:Nn[n-1]})}},{key:"stepperNext",value:function(){var e=this.state.currentPane,t=void 0===e?"main":e,n=Nn.indexOf(t);n-1&&o0;)r.pop(),i--}n.KeepPeriods=r,this.setState({saveValue:n,dirty:!0})}},{key:"updateValidStatus",value:function(e){}},{key:"render",value:function(){var e,n=this,r=this.props,o=r.create,i=r.readonly,a=r.pydio,l=r.muiTheme,c=r.internalSources,d=this.state,p=d.loaded,f=d.policy,y=d.saveValue,m=d.m,h=this.state.parameters,g=l.palette,b=Qn(g);if(h&&p){c&&(h=h.map((function(e){return"VersionsDataSourceName"===e.name&&(e.choices+=","+c.map((function(e){return e+"|DataSource "+e})).join(",")),e})));var v=s.TreeVersioningPolicyToValues(f);y&&(v=s.TreeVersioningPolicyToValues(y)),e=t().createElement(zn,{parameters:h,values:v,className:"full-width",onChange:this.onFormChange.bind(this),onValidStatusChange:this.updateValidStatus.bind(this),disabled:i,depth:-2,variant:"v2"})}var S=[];i||(o||(S.push(Gn.actionButton(m("delete"),"mdi mdi-delete",(function(){n.deleteSource()}))),S.push(Gn.actionButton(a.MessageHash["ajxp_admin.plugins.6"],"mdi mdi-undo",(function(){n.resetForm()}),!this.state.dirty))),S.push(Gn.actionButton(a.MessageHash[53],"mdi mdi-content-save",(function(){n.saveSource()}),!this.state.valid||!this.state.dirty)));var w=y?y.Name:f.Name;return w||(w=""),t().createElement(Gn,{title:p&&h?m("title").replace("%s",w):a.MessageHash["ajxp_admin.loading"],titleLeftIcon:"mdi mdi-clock-start",titleActionBar:S,closeAction:this.props.closeEditor,className:"workspace-editor",contentFill:!0},t().createElement(u.Paper,{zDepth:0,style:{backgroundColor:b.body.block.header.backgroundColor,padding:"0px 20px",height:64,display:"flex",alignItems:"center"}},t().createElement("div",{style:{overflowX:"auto",width:"100%"}},t().createElement(_n,{pydio:a,policy:y||f}))),e,b.formSimpleCss())}}],o=[{key:"valuesToTreeVersioningPolicy",value:function(e){for(var t=[],n="IntervalStart",r="MaxNumber",o=n,i=r,a=0;void 0!==e[o]&&void 0!==e[i];){var l=new S.TreeVersioningKeepPeriod;l.IntervalStart=e[o],l.MaxNumber=e[i],t.push(l),delete e[i],delete e[o],o=n+"_"+ ++a,i=r+"_"+a}return e.KeepPeriods=t,S.TreeVersioningPolicy.constructFromObject(e)}},{key:"TreeVersioningPolicyToValues",value:function(e){var t=function(e){for(var t=1;t0?(t["IntervalStart_"+n]=e.IntervalStart||0,t["MaxNumber_"+n]=e.MaxNumber||0):(t.IntervalStart=e.IntervalStart||0,t.MaxNumber=e.MaxNumber||0),n++}))}return t.NodeDeletedStrategy||(t.NodeDeletedStrategy="KeepAll"),t}}],r&&Kn(n.prototype,r),o&&Kn(n,o),Object.defineProperty(n,"prototype",{writable:!1}),s}(t().Component);$n=(0,f.muiThemeable)()($n);var Xn="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),Zn=new Uint8Array(16);function er(){if(!Xn)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Xn(Zn)}for(var tr=[],nr=0;nr<256;++nr)tr[nr]=(nr+256).toString(16).substr(1);const rr=function(e,t,n){var r=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var o=(e=e||{}).random||(e.rng||er)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t)for(var i=0;i<16;++i)t[r+i]=o[i];return t||function(e,t){var n=t||0,r=tr;return[r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]]].join("")}(o)};function or(e){return or="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},or(e)}function ir(){return ir=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:null;this.setState({dsLoaded:!1,versionsLoaded:!1,newDsName:t}),dt.loadDatasources().then((function(t){e.setState({dataSources:t.DataSources||[],dsLoaded:!0},(function(){e.syncStatuses()}))})),dt.loadVersioningPolicies().then((function(t){e.setState({versioningPolicies:t.Policies||[],versionsLoaded:!0})})),dt.loadStatuses().then((function(t){e.setState({startedServices:t.Services})})),this.refs&&this.refs.encKeys&&this.refs.encKeys.load()}},{key:"syncStatuses",value:function(){var e=this,t=this.state.dataSources,n=void 0===t?[]:t;n.length&&xr.getInstance().getAdminJobs(null,null,n.map((function(e){return"resync-ds-"+e.Name})),1).then((function(t){var n={};(t.Jobs||[]).forEach((function(e){e.Tasks&&e.Tasks.length&&(n[e.ID.replace("resync-ds-","")]=e)})),e.setState({resyncJobs:n})}))}},{key:"closeEditor",value:function(){this.props.closeRightPane()}},{key:"openDataSource",value:function(e){if(e.length){var t=e[0],n=this.props,r=n.openRightPane,o=n.accessByName,i=n.pydio,a=n.storageTypes;r({COMPONENT:An,PROPS:{ref:"editor",pydio:i,dataSource:t,storageTypes:a,readonly:!o("CreateDatasource"),closeEditor:this.closeEditor.bind(this),reloadList:this.load.bind(this)}})}}},{key:"makeStatusLabel",value:function(e,n){switch(e){case"error":return t().createElement("span",{style:{color:"#e53935"}},t().createElement("span",{className:"mdi mdi-alert"})," ",n);case"running":return t().createElement("span",{style:{color:"#ef6c00"}},t().createElement("span",{className:"mdi mdi-timer-sand"})," ",n);default:return t().createElement("span",{style:{color:"#1b5e20"}},t().createElement("span",{className:"mdi mdi-check"})," ",n)}}},{key:"computeStatus",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(n&&e.Disabled)return-1;var r,o,i,a=this.state,l=a.startedServices,s=void 0===l?[]:l,c=a.peerAddresses,u=void 0===c?[]:c,d=a.m,p=a.newDsName;if(!s.length)return d("status.na");if(s.map((function(t){t.Name==="pydio.grpc.data.sync."+e.Name&&"STARTED"===t.Status?o=!0:t.Name==="pydio.grpc.data.index."+e.Name&&"STARTED"===t.Status?r=!0:t.Name==="pydio.grpc.data.objects."+e.ObjectsServiceName&&"STARTED"===t.Status&&(i=!0)})),r&&o&&i)return p&&e.Name===p&&setTimeout((function(){t.setState({newDsName:null})}),100),n?0:this.makeStatusLabel("ok",d("status.ok"));if(p&&e.Name===p)return n?1:this.makeStatusLabel("running",d("status.starting"));if(r||o||i){var f=[];return r||f.push(d("status.index")),o||f.push(d("status.sync")),i||f.push(d("status.object")),n?3:this.makeStatusLabel("error",f.join(" - "))}var y=d("status.ko");return u&&-1===u.indexOf(e.PeerAddress)&&(y=d("status.ko-peers").replace("%s",e.PeerAddress)),n?2:this.makeStatusLabel("error",y)}},{key:"computeJobStatus",value:function(e){var t=e.Tasks[0];switch(t.Status){case"Finished":return this.makeStatusLabel("ok",Tr(new Date(1e3*parseInt(t.EndTime))).fromNow());case"Running":return this.makeStatusLabel("running",t.StatusMessage||"Running...");case"Error":return this.makeStatusLabel("error",t.StatusMessage);case"Queued":return this.makeStatusLabel("running",t.StatusMessage)}return this.makeStatusLabel("ok",t.StatusMessage)}},{key:"openVersionPolicy",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(void 0===e||e.length){var n,r=!1;if(void 0===e){r=!0,(n=new S.TreeVersioningPolicy).Uuid=rr(),n.VersionsDataSourceName="versions",n.NodeDeletedStrategy="KeepAll";var o=new S.TreeVersioningKeepPeriod;o.IntervalStart="0",o.MaxNumber=-1,n.KeepPeriods=[o]}else n=e[0],t&&(r=!0,(n=S.TreeVersioningPolicy.constructFromObject(JSON.parse(JSON.stringify(n)))).Uuid=rr(),n.Name+=" (Copy)");var i=this.props,a=i.openRightPane,l=i.pydio,s=i.versioningReadonly,c=i.accessByName,u=this.state.dataSources;a({COMPONENT:$n,PROPS:{ref:"editor",versionPolicy:n,create:r,pydio:l,internalSources:u.filter((function(e){return e.StorageConfiguration&&e.StorageConfiguration.cellsInternal})).map((function(e){return e.Name})),readonly:s||!c("CreateVersioning"),closeEditor:this.closeEditor.bind(this),reloadList:this.load.bind(this)}})}}},{key:"deleteVersionPolicy",value:function(e){var t=this,n=this.props.pydio;n.UI.openConfirmDialog({message:n.MessageHash["ajxp_admin.versions.editor.delete.confirm"],destructive:[e.Name],validCallback:function(){Y().loadClass("EnterpriseSDK").then((function(n){new n.EnterpriseConfigServiceApi(m().getRestClient()).deleteVersioningPolicy(e.Uuid).then((function(e){t.load()}))}))}})}},{key:"createDataSource",value:function(e){var t=this.props,n=t.pydio,r=t.storageTypes,o=this.state.dataSources;this.props.openRightPane({COMPONENT:An,PROPS:{ref:"editor",create:!0,createStructure:e,existingNames:o.map((function(e){return e.Name})),pydio:n,storageTypes:r,closeEditor:this.closeEditor.bind(this),reloadList:this.load.bind(this)}})}},{key:"resyncDataSource",value:function(e,t,n){e.UI.openConfirmDialog({message:t("editor.legend.resync"),skipNext:"datasource.resync.confirm",validCallback:function(){new dt(n).resyncSource()}})}},{key:"deleteDataSource",value:function(e,t,n){var r=this;e.UI.openConfirmDialog({message:t("editor.delete.warning"),validCallback:function(){new dt(n).deleteSource().then((function(){r.load()}))},destructive:[n.Name]})}},{key:"createWorkspaceFromDatasource",value:function(e,t,n){var r=new C,o=r.getModel(),i=n.Name;o.Label=i,o.Description="Root of "+i,o.Slug=i,o.Attributes.DEFAULT_RIGHTS="";var a={Uuid:"DATASOURCE:"+i,Path:i};o.RootNodes[a.Uuid]=a,e.UI.openComponentInModal("PydioReactUI","PromptDialog",{dialogTitle:t("board.wsfromds.title"),legendId:t("board.wsfromds.legend").replace("%s",i),fieldLabelId:t("board.wsfromds.field"),defaultValue:t("board.wsfromds.defaultPrefix").replace("%s",i),submitValue:function(t){o.Label=t,r.save().then((function(){e.goTo("/data/workspaces")}))}})}},{key:"render",value:function(){var n=this,r=this.state,o=r.dataSources,i=r.resyncJobs,a=r.versioningPolicies,l=r.m,s=r.createDialog;o.sort(g().arraySorter("Name"));var c=o.filter((function(e){return!(e.StorageConfiguration&&e.StorageConfiguration.cellsInternal)})),d=o.filter((function(e){return e.StorageConfiguration&&e.StorageConfiguration.cellsInternal}));a.sort(g().arraySorter("Name"));var p=AdminComponents.AdminStyles(this.props.muiTheme.palette),f=p.body,y=f.tableMaster,m=f.block.props,h=f.block.container,b=this.props,v=b.currentNode,S=b.pydio,w=b.versioningReadonly,E=b.accessByName,O=[{name:"Name",label:l("name"),style:{fontSize:15,width:"15%"},headerStyle:{width:"15%"},sorter:{type:"string",default:!0}},{name:"StorageType",label:l("storage"),style:{width:"15%"},headerStyle:{width:"15%"},renderCell:function(e){var t="storage.fs";switch(e.StorageType){case"S3":t="storage.s3";break;case"AZURE":t="storage.azure";break;case"GCS":t="storage.gcs"}return l(t)},sorter:{type:"string"}},{name:"Status",label:l("status"),hideSmall:!0,renderCell:function(e){return e.Disabled?t().createElement("span",{style:{color:"#757575"}},t().createElement("span",{className:"mdi mdi-checkbox-blank-circle-outline"})," ",l("status.disabled")):n.computeStatus(e)},sorter:{type:"number",value:function(e){return n.computeStatus(e,!0)}}},{name:"SyncStatus",label:l("syncStatus"),hideSmall:!0,renderCell:function(e){return i&&i[e.Name]?n.computeJobStatus(i[e.Name]):"n/a"},sorter:{type:"number",value:function(e){return i&&i[e.Name]?i[e.Name].Tasks[0].EndTime:0}}},{name:"VersioningPolicyName",label:l("versioning"),style:{width:"15%"},headerStyle:{width:"15%"},hideSmall:!0,renderCell:function(e){var t=a.find((function(t){return t.Uuid===e.VersioningPolicyName}));return t?t.Name:e.VersioningPolicyName||"-"},sorter:{type:"string"}},{name:"EncryptionMode",label:l("encryption"),hideSmall:!0,style:{width:"8%",textAlign:"center"},headerStyle:{width:"8%"},renderCell:function(e){return"MASTER"===e.EncryptionMode?t().createElement("span",{className:"mdi mdi-check"}):"-"},sorter:{type:"number",value:function(e){return"MASTER"===e.EncryptionMode?1:0}}}];c.filter((function(e){return!e.FlatStorage})).length||(O=O.filter((function(e){return"SyncStatus"!==e.name})));var k=O.filter((function(e){return"VersioningPolicyName"!==e.name&&"SyncStatus"!==e.name})),C=v.getLabel(),P=v.getMetadata().get("icon_class"),j=[];E("CreateDatasource")&&j.push(t().createElement(u.FlatButton,wr({primary:!0,label:S.MessageHash["ajxp_admin.ws.4"],onClick:function(){return n.setState({createDialog:!0})}},p.props.header.flatButton)));var x=!w&&E("CreateVersioning");x&&j.push(t().createElement(u.FlatButton,wr({primary:!0,label:S.MessageHash["ajxp_admin.ws.4b"],onClick:function(){n.openVersionPolicy()}},p.props.header.flatButton)));var T=[{name:"Name",label:l("versioning.name"),style:{width:180,fontSize:15},headerStyle:{width:180},sorter:{type:"string",default:!0}},{name:"Description",label:l("versioning.description"),sorter:{type:"string"}},{name:"KeepPeriods",hideSmall:!0,label:l("versioning.periods"),renderCell:function(e){return t().createElement(_n,{rendering:"short",policy:e,pydio:S})}},{name:"VersionsDataSourceName",style:{width:180},headerStyle:{width:180},label:l("versioning.storage"),sorter:{type:"string"},hideSmall:!0}],R=[];E("CreateDatasource")&&R.push({iconClassName:"mdi mdi-pencil",tooltip:"Edit datasource",onClick:function(e){n.openDataSource([e])}}),R.push({iconClassName:"mdi mdi-folder-plus",tooltip:"Create workspace here",onClick:function(e){return n.createWorkspaceFromDatasource(S,l,e)}}),E("CreateDatasource")&&R.push({iconClassName:"mdi mdi-delete",tooltip:l("editor.legend.delete.button"),onClick:function(e){return n.deleteDataSource(S,l,e)}});var N=[].concat(R);c.filter((function(e){return!e.FlatStorage})).length>0&&R.push({iconClassName:"mdi mdi-sync",tooltip:l("editor.legend.resync.button"),onClick:function(e){return n.resyncDataSource(S,l,e)},disable:function(e){return e.FlatStorage}});var A=[];return A.push({iconClassName:x?"mdi mdi-pencil":"mdi mdi-eye",tooltip:x?"Edit policy":"Display policy",onClick:function(e){n.openVersionPolicy([e])}}),x&&(A.push({iconClassName:"mdi mdi-content-copy",tooltip:"Duplicate policy",onClick:function(e){return n.openVersionPolicy([e],!0)}}),A.push({iconClassName:"mdi mdi-delete",tooltip:"Delete policy",destructive:!0,onClick:function(e){return n.deleteVersionPolicy(e)}})),t().createElement("div",{className:"main-layout-nav-to-stack workspaces-board"},t().createElement("div",{className:"vertical-layout",style:{width:"100%"}},t().createElement(AdminComponents.Header,{title:C,icon:P,actions:j,reloadAction:this.load.bind(this),loading:!(this.state.dsLoaded&&this.state.versionsLoaded)}),t().createElement(hr,{open:s,onRequestClose:function(){n.setState({createDialog:!1})},onSubmit:function(e){n.createDataSource(e)}}),t().createElement("div",{className:"layout-fill"},t().createElement(AdminComponents.SubHeader,{title:l("board.ds.title"),legend:l("board.ds.legend")}),t().createElement(u.Paper,wr({},m,{style:vr({},h)}),t().createElement(Pr,{data:c,columns:O,actions:R,onSelectRows:this.openDataSource.bind(this),deselectOnClickAway:!0,showCheckboxes:!1,emptyStateString:l("emptyState"),masterStyles:y,storageKey:"console.datasources.list"})),d.length>0&&t().createElement(e.Fragment,null,t().createElement("div",{style:{padding:"0px 20px"}},"Internal DataSources are used to store binaries like files versions"),t().createElement(u.Paper,wr({},m,{style:vr({},h)}),t().createElement(Pr,{data:d,columns:k,actions:N,onSelectRows:this.openDataSource.bind(this),deselectOnClickAway:!0,showCheckboxes:!1,emptyStateString:l("emptyState"),masterStyles:y,storageKey:"console.internalsources.list"}))),t().createElement(AdminComponents.SubHeader,{title:l("board.versioning.title"),legend:l("board.versioning.legend")}),t().createElement(u.Paper,wr({},m,{style:vr({},h)}),t().createElement(Pr,{data:a,columns:T,actions:A,onSelectRows:this.openVersionPolicy.bind(this),deselectOnClickAway:!0,showCheckboxes:!1,masterStyles:y,storageKey:"console.versioning.policies.list"})),t().createElement(AdminComponents.SubHeader,{title:l("board.enc.title"),legend:l("board.enc.legend")}),t().createElement(dr,{pydio:S,ref:"encKeys",accessByName:E,adminStyles:p}))))}}],o&&Er(r.prototype,o),Object.defineProperty(r,"prototype",{writable:!1}),s}(t().Component);function Nr(e){return Nr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Nr(e)}function Ar(){return Ar=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);nr?1:-1}));var v=[{name:"Order",label:h("order"),style:{width:30},headerStyle:{width:30},hideSmall:!0,renderCell:function(e){return e.Order||"0"},sorter:{type:"number"}},{name:"Namespace",label:h("namespace"),style:{fontSize:15},sorter:{type:"string"}},{name:"Label",label:h("label"),style:{width:"25%"},headerStyle:{width:"25%"},sorter:{type:"string"}},{name:"Indexable",label:h("indexable"),style:{width:"10%"},headerStyle:{width:"10%"},hideSmall:!0,renderCell:function(e){return e.Indexable?"Yes":"No"},sorter:{type:"number",value:function(e){return e.Indexable?1:0}}},{name:"JsonDefinition",label:h("definition"),hideSmall:!0,renderCell:function(e){var t=e.JsonDefinition;if(!t)return"";var n=JSON.parse(t);return $.MetaTypes[n.type]||n.type},sorter:{type:"string"}}],S={};b.length?d.map((function(e){var t=ve(e);S[t]||(S[t]=[]),S[t].push(e)})):S[""]=d;var w=o.getLabel(),E=o.getMetadata().get("icon_class"),O=[],k=[];return a("Create")&&(O.push(t().createElement(u.FlatButton,Ar({primary:!0,label:h("namespace.add"),onClick:function(){e.create()}},s.props.header.flatButton))),k.push({iconClassName:"mdi mdi-pencil",onClick:function(t){e.open([t])}},{iconClassName:"mdi mdi-delete",onClick:function(t){e.deleteNs(t)}})),t().createElement("div",{className:"main-layout-nav-to-stack workspaces-board"},t().createElement(Oe,{pydio:i,open:f,create:m,namespace:y,onRequestClose:function(){return e.close()},reloadList:function(){return e.load()},namespaces:d,readonly:!a("Create"),policiesBuilder:l}),t().createElement("div",{className:"vertical-layout",style:{width:"100%"}},t().createElement(AdminComponents.Header,{title:w,icon:E,actions:O,reloadAction:this.load.bind(this),loading:p}),t().createElement("div",{className:"layout-fill"},t().createElement(AdminComponents.SubHeader,{title:h("namespaces"),legend:h("namespaces.legend")}),Object.keys(S).sort().map((function(n){return t().createElement(t().Fragment,null,n&&t().createElement("div",{style:{padding:20,fontWeight:500,paddingBottom:0}},"["+h("group")+"] "+n),!n&&b.length>0&&t().createElement("div",{style:{padding:20,fontWeight:500,paddingBottom:0}},h("default-group")),t().createElement(u.Paper,s.body.block.props,t().createElement(Br,{data:S[n],columns:v,actions:k,onSelectRows:e.open.bind(e),deselectOnClickAway:!0,showCheckboxes:!1,emptyStateString:h("empty"),masterStyles:s.body.tableMaster,storageKey:"console.metadata.list"})))})))))}}])&&Mr(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),l}(t().Component);Fr=_r()(Fr)})(),window.AdminWorkspaces=r})(); \ No newline at end of file +(()=>{"use strict";var e={173:e=>{e.exports=require("material-ui/styles")},880:e=>{e.exports=require("pydio/http/api")},590:e=>{e.exports=require("pydio/lang/observable")}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{n.r(r),n.d(r,{DataSource:()=>dt,DataSourceEditor:()=>An,DataSourcesBoard:()=>Rr,MetadataBoard:()=>Fr,TemplatePath:()=>ot,TemplatePathEditor:()=>ht,VirtualNodes:()=>Ct,Workspace:()=>C,WsAutoComplete:()=>J,WsDashboard:()=>$e});const e=require("react");var t=n.n(e);const o=require("create-react-class");var i=n.n(o);const a=require("prop-types");var l=n.n(a);const s=require("pydio");var c=n.n(s);const u=require("material-ui"),d=require("pydio/util/xml");var p=n.n(d),f=n(173),y=n(880),m=n.n(y);const h=require("pydio/util/lang");var g=n.n(h),b=n(590),v=n.n(b);const S=require("cells-sdk");function w(e){return w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w(e)}function E(e,t){for(var n=0;n0}},{key:"hasFolderRoots",value:function(){var e=this;return Object.keys(this.model.RootNodes).filter((function(t){return!l.rootIsTemplatePath(e.model.RootNodes[t])})).length>0}},{key:"save",value:function(){var e=this;return this.model.Attributes=JSON.stringify(this.internalAttributes),new S.WorkspaceServiceApi(m().getRestClient()).putWorkspace(this.model.Slug,this.model).then((function(t){e.initModel(t),e.observableModel=e.buildProxy(e.model)}))}},{key:"remove",value:function(){return new S.WorkspaceServiceApi(m().getRestClient()).deleteWorkspace(this.model.Slug)}},{key:"revert",value:function(){var e=S.IdmWorkspace.constructFromObject(this.snapshot||{});this.initModel(e),this.observableModel=this.buildProxy(this.model)}},{key:"isValid",value:function(){return this.model.Slug&&this.model.Label&&Object.keys(this.model.RootNodes).length>0}},{key:"isDirty",value:function(){return this.dirty}}])&&E(t.prototype,n),r&&E(t,r),Object.defineProperty(t,"prototype",{writable:!1}),l}(v());const P=require("lodash.debounce");var j=n.n(P);const x=require("pydio/util/path");var T=n.n(x),R=["muiTheme","children"];function N(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,R),i=q(n);return t().createElement("div",K({style:i.fillBlockV2Right},o),r)})),J=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&F(e,t)}(s,e);var n,r,o,i,a,l=(i=s,a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=V(i);if(a){var n=V(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===I(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function s(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s),t=l.call(this,e);var n=e.value,r=void 0===n?"":n;return t.debounced=j()((function(){var e=t.state.value;t.loadValues(e)}),300),t.state={nodes:[],value:r},t}return n=s,r=[{key:"componentDidMount",value:function(){var e=this,t=this.props.validateOnLoad,n=this.state.value;this.loadValues(n,(function(){var n=e.state,r=n.nodes,o=n.value;r.filter((function(e){return e.Path===o&&(!e.Type||"COLLECTION"==e.Type&&!e.MetaStore&&!e.MetaStore.resolution)})).map((function(t){e.loadValues(o+"/")})),t&&e.handleNewRequest(o)}))}},{key:"handleUpdateInput",value:function(e){this.debounced(),this.setState({value:e})}},{key:"handleNewRequest",value:function(e){var t,n,r=this.state.nodes,o=this.props,i=o.onChange,a=void 0===i?function(){}:i,l=o.onDelete,s=void 0===l?function(){}:l,c=o.onError,u=void 0===c?function(){}:c;if("string"==typeof e){if(""===e)return void s();t=e,(n=r.filter((function(t){return t.Path===e}))[0])||(n=r.filter((function(t){return 0===t.Path.indexOf(e)}))[0])}else"object"===I(e)&&(t=e.key,n=e.node);if(!n)return u();this.setState({value:t}),a(t,n)}},{key:"loadValues",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},r=e.lastIndexOf("/"),o=e.substr(0,r);if(null===this.lastSearch||this.lastSearch!==o){this.lastSearch=o,this.setState({loading:!0});var i=new S.AdminTreeServiceApi(PydioApi.getRestClient()),a=new S.TreeListNodesRequest,l=new S.TreeNode;l.Path=o+"/",a.Node=l,i.listAdminTree(a).then((function(e){t.setState({nodes:e.Children||[],loading:!1},(function(){return n()}))})).catch((function(){t.setState({loading:!1},(function(){return n()}))}))}}},{key:"render",value:function(){var e=this,n=this.state,r=n.value,o=n.nodes,i=n.loading,a=this.props,l=a.pydio,c=a.onDelete,d=a.skipTemplates,p=a.label,f=a.zDepth,y=void 0===f?0:f,m=function(e){return l.MessageHash["ajxp_admin."+e]||e},h=[];if(o){var g={};if(o.forEach((function(e){if(!(e.MetaStore&&e.MetaStore.resolution&&"cells"===e.Uuid||T().getBasename(e.Path).startsWith("."))){var t=s.renderNode(e,m);g[t.categ]||(g[t.categ]=[]),g[t.categ].push(t)}})),Object.keys(g).length>1){h.push({key:"h1",text:"",value:t().createElement(u.MenuItem,{primaryText:m("ws.complete.datasources"),style:{fontSize:13,fontWeight:500},disabled:!0})});var b=g[Object.keys(g)[0]];if(b.sort(LangUtils.arraySorter("text")),h.push.apply(h,M(b)),!d){h.push({key:"h2",text:"",value:t().createElement(u.MenuItem,{primaryText:m("ws.complete.templates"),style:{fontSize:13,fontWeight:500},disabled:!0})});var v=g[Object.keys(g)[1]];v.sort(LangUtils.arraySorter("text")),h.push.apply(h,M(v))}}else 1===Object.keys(g).length&&h.push.apply(h,M(g[Object.keys(g)[0]]))}return t().createElement(u.Paper,{zDepth:y,style:A({display:"flex",alignItems:"center",margin:"2px 0"},this.props.style)},t().createElement("div",{style:{position:"relative",flex:1,height:60}},t().createElement("div",{style:{position:"absolute",right:0,top:30,width:30}},t().createElement(u.RefreshIndicator,{size:30,left:0,top:0,status:i?"loading":"hide"})),t().createElement(U,{fullWidth:!0,searchText:r,onUpdateInput:function(t){return e.handleUpdateInput(t)},onNewRequest:function(t){return e.handleNewRequest(t)},onClose:function(){return e.handleNewRequest(r)},dataSource:h,filter:function(e,t){return 0===t.toLowerCase().indexOf(e.toLowerCase())},floatingLabelText:p||m("ws.complete.label"),openOnFocus:!0,menuProps:{maxHeight:200},hasRightBlock:!0})),t().createElement(H,null,t().createElement(u.IconButton,{style:{marginTop:2},iconStyle:{color:c?"#9e9e9e":"#eee"},iconClassName:"mdi mdi-delete",onClick:c,disabled:!c})))}}],o=[{key:"renderNode",value:function(e,n){var r=t().createElement("span",null,e.Path),o="mdi mdi-folder",i="folder";if(e.MetaStore&&e.MetaStore.resolution){o="mdi mdi-file-tree",i="templatePath";var a=e.MetaStore.resolution.split("\n").pop();r=t().createElement("span",null,e.Path," ",t().createElement("i",{style:{color:"#9e9e9e"}},"- ",n("ws.complete.resolves")," ",a))}else"LEAF"===e.Type&&(o="mdi mdi-file");return{key:e.Path,text:e.Path,node:e,categ:i,value:t().createElement(u.MenuItem,null,t().createElement(u.FontIcon,{className:o,color:"#607d8b",style:{float:"left",marginRight:8}})," ",r)}}}],r&&_(n.prototype,r),o&&_(n,o),Object.defineProperty(n,"prototype",{writable:!1}),s}(t().Component);const z=require("pydio/http/resources-manager");var Y=n.n(z);function G(e){return G="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},G(e)}function Q(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;if(!e)return Promise.resolve(t);var n=e.split("."),r=n.shift(),o=n.join(".");return Y().loadClass(r).then((function(n){var i=Z().getFunctionByName(o,n);if(!i){if("object"===ye(n)&&n[r]){var a=Z().getFunctionByName(o,n[r]);if(a)return a}if(t)return console.error("Cannot find editor component, using default instead",e,t),t;throw new Error("cannot find editor component")}return i})).catch((function(n){if(t)return console.error("Cannot find editor component, using default instead",e,t),t;throw n}))}var we=function(n){ue(o,n);var r=pe(o);function o(e){return ae(this,o),r.call(this,e)}return se(o,[{key:"togglePolicies",value:function(e,t){var n=this.props,r=n.policies,o=void 0===r?[]:r,i=n.onChangePolicies,a=o.filter((function(t){return t.Action!==e}));a.push(S.ServiceResourcePolicy.constructFromObject({Action:e,Effect:"allow",Subject:t?"profile:admin":"*"})),"READ"===e&&t&&(a=a.filter((function(e){return"WRITE"!==e.Action}))).push(S.ServiceResourcePolicy.constructFromObject({Action:"WRITE",Effect:"allow",Subject:"profile:admin"})),i(a)}},{key:"render",value:function(){var n,r,o=this,i=this.props,a=i.readonly,l=i.policies,s=i.pydio,c=i.muiTheme,d=function(e){return s.MessageHash["ajxp_admin.metadata."+e]||e},p=be(c);return l&&l.map((function(e){"profile:admin"===e.Subject&&"READ"===e.Action&&(n=!0),"profile:admin"===e.Subject&&"WRITE"===e.Action&&(r=!0)})),t().createElement(e.Fragment,null,t().createElement("div",null,t().createElement(u.Toggle,ie({label:d("toggle.read"),disabled:a,labelPosition:"left",toggled:n,onToggle:function(e,t){o.togglePolicies("READ",t)}},p.toggleFieldV2))),t().createElement("div",null,t().createElement(u.Toggle,ie({label:d("toggle.write"),labelPosition:"left",disabled:n||a,toggled:r,onToggle:function(e,t){o.togglePolicies("WRITE",t)}},p.toggleFieldV2))))}}]),o}(t().Component);we=(0,f.muiThemeable)()(we);var Ee=function(e){ue(r,e);var n=pe(r);function r(e){var t;return ae(this,r),(t=n.call(this,e)).state={namespace:t.cloneNs(e.namespace),m:function(t){return e.pydio.MessageHash["ajxp_admin.metadata."+t]||t},selectorNewKey:"",selectorNewValue:"",PoliciesBuilder:we},Y().loadClass("ReactMeta").then((function(e){t.setState({metaModule:e});var n=t.props.policiesBuilder;n&&Se(n,we).then((function(e){return t.setState({PoliciesBuilder:e})}))})),t}return se(r,[{key:"cloneNs",value:function(e){return S.IdmUserMetaNamespace.constructFromObject(JSON.parse(JSON.stringify(e)))}},{key:"componentWillReceiveProps",value:function(e){if(e.open!==this.props.open){var t=e.create,n=e.namespaces,r=this.cloneNs(e.namespace);t&&n.length&&(r.Order=n.map((function(e){return e.Order||0})).reduce((function(e,t){return Math.max(e,t)}),0)+1),this.setState({namespace:r})}}},{key:"save",value:function(){var e=this,t=this.state.namespace;$.putNS(t).then((function(){e.props.onRequestClose(),e.props.reloadList()}))}},{key:"getHideValue",value:function(){var e=this.state.namespace;try{return JSON.parse(e.JsonDefinition).hide}catch(e){return!1}}},{key:"setHideValue",value:function(e){var t=this.state.namespace,n=JSON.parse(t.JsonDefinition);t.JsonDefinition=JSON.stringify(re(re({},n),{},{hide:e})),this.setState({namespace:t})}},{key:"setGroupValue",value:function(e){var t=this.state.namespace,n=JSON.parse(t.JsonDefinition);t.JsonDefinition=JSON.stringify(re(re({},n),{},{groupName:e})),this.setState({namespace:t})}},{key:"getAdditionalData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.state.namespace;try{var n=JSON.parse(t.JsonDefinition).data||e;if(e.items&&n.split){var r=n.split(",").map((function(e){var t=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);s=!0);}catch(e){c=!0,o=e}finally{try{if(!s&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return l}}(e,t)||ee(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(e.split("|"),2);return{key:t[0],value:t[1]}}));return{items:r}}return n}catch(e){}return e}},{key:"setAdditionalDataKey",value:function(e,t){var n=this.state.namespace,r=JSON.parse(n.JsonDefinition),o=oe({},e,t);r.data=re(re({},r.data),o),n.JsonDefinition=JSON.stringify(r),this.setState({namespace:n})}},{key:"togglePolicies",value:function(e,t){var n=this,r=this.state.namespace,o=(r.Policies||[]).filter((function(t){return t.Action!==e}));o.push(S.ServiceResourcePolicy.constructFromObject({Action:e,Effect:"allow",Subject:t?"profile:admin":"*"})),r.Policies=o,this.setState({namespace:r},(function(){"READ"===e&&t&&n.togglePolicies("WRITE",!0)}))}},{key:"render",value:function(){var e=this,n=this.props,r=n.create,o=n.namespaces,i=n.pydio,a=n.readonly,l=n.muiTheme,s=this.state,d=s.namespace,p=s.m,f=s.PoliciesBuilder,y=s.metaModule,h=be(l);if(!y)return null;var g,b=y.TypeEditor;g=d.Label?d.Label:p("editor.title.create");var v="string";d.JsonDefinition&&(v=JSON.parse(d.JsonDefinition).type);var w,E,O=!1;if(d.Label?d.Namespace&&"usermeta-"!==d.Namespace||(O=!0,w=p("editor.ns.error")):(O=!0,E=p("editor.label.error")),r&&o.filter((function(e){return e.Namespace===d.Namespace})).length&&(O=!0,w=p("editor.ns.exists")),"choice"===v){var k=this.getAdditionalData({items:[]}).items;k&&k.length||(O=!0)}var C,P=function(e){if(Array.isArray(e))return te(e)}(C=new Set(o.map((function(e){return ve(e)})).filter((function(e){return e}))))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(C)||ee(C)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();d.Policies&&d.Policies.map((function(e){"profile:admin"===e.Subject&&e.Action,"profile:admin"===e.Subject&&e.Action}));var j=[t().createElement(u.FlatButton,{primary:!0,label:i.MessageHash[54],onClick:this.props.onRequestClose}),t().createElement(u.FlatButton,{primary:!0,disabled:O||a,label:i.MessageHash[53],onClick:function(){e.save()}})];"tags"!==v||a||j.unshift(t().createElement(u.FlatButton,{primary:!1,label:p("editor.tags.reset"),onClick:function(){new S.UserMetaServiceApi(m().getRestClient()).deleteUserMetaTags(d.Namespace,"*").then((function(){i.UI.displayMessage("SUCCESS",p("editor.tags.cleared").replace("%s",d.Namespace))})).catch((function(e){i.UI.displayMessage("ERROR",e.message)}))}}));var x={section:{marginTop:10,fontWeight:500,fontSize:12}};return t().createElement(u.Dialog,{title:g,actions:j,modal:!1,contentStyle:{width:520},open:this.props.open,onRequestClose:this.props.onRequestClose,autoScrollBodyContent:!0,bodyStyle:{padding:20}},t().createElement(b,{m:p,pydio:i,namespace:d,forcePrefix:"usermeta-",onChange:function(t){return e.setState({namespace:t})},readonly:a,create:r,labelError:E,nameError:w,styles:x}),t().createElement("div",{style:x.section},c().getInstance().MessageHash[310]),t().createElement(u.Toggle,ie({label:p("toggle.list-visibility"),disabled:a,labelPosition:"left",toggled:!this.getHideValue(),onToggle:function(t,n){e.setHideValue(!n)}},h.toggleFieldV2)),t().createElement(u.Toggle,ie({label:p("toggle.index"),disabled:a,labelPosition:"left",toggled:d.Indexable,onToggle:function(t,n){d.Indexable=n,e.setState({namespace:d})}},h.toggleFieldV2)),f&&t().createElement(f,{policies:d.Policies,readonly:a,onChangePolicies:function(t){return e.setState({namespace:re(re({},d),{},{Policies:t})})},pydio:i}),t().createElement("div",{style:x.section},p("order")),t().createElement(he,{floatingLabelText:p("order"),value:d.Order?d.Order:"0",onChange:function(t,n){d.Order=parseInt(n),e.setState({namespace:d})},fullWidth:!0,type:"number",readOnly:a,variant:"v2"}),t().createElement(ge,{floatingLabelFixed:!0,fullWidth:!0,floatingLabelText:p("groupName"),filter:function(e,t){return!e.indexOf||0===t.toLowerCase().indexOf(e.toLowerCase())},openOnFocus:!0,dataSource:P,searchText:ve(d)||"",onNewRequest:function(t,n){e.setGroupValue(t)},onUpdateInput:function(t){e.setGroupValue(t)},menuProps:{maxHeight:300,overflowY:"auto"}}))}}]),r}(t().Component);(Ee=(0,f.muiThemeable)()(Ee)).PropTypes={namespace:l().instanceOf(S.IdmUserMetaNamespace).isRequired,namespaces:l().arrayOf(S.IdmUserMetaNamespace),create:l().bool,reloadList:l().func,onRequestClose:l().func};const Oe=Ee;function ke(e){return ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ke(e)}function Ce(){return Ce=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?c.Attributes.QUOTA=e+"":(c.Attributes.QUOTA="0",delete c.Attributes.QUOTA)}}),t().createElement("hr",{style:P.divider}),t().createElement("div",{style:je({},P.legend)},v("ws.editor.other.layout")),t().createElement(Le,{fullWidth:!0,floatingLabelText:v("ws.editor.other.layout"),variant:"v2",value:c.Attributes.META_LAYOUT||"",onChange:function(e,t,n){c.Attributes.META_LAYOUT=n}},t().createElement(u.MenuItem,{primaryText:v("ws.editor.other.layout.default"),value:""}),t().createElement(u.MenuItem,{primaryText:v("ws.editor.other.layout.easy"),value:"meta.layout_sendfile"})))),h&&t().createElement(u.Paper,{zDepth:0,style:P.section},t().createElement("div",{style:P.title},w("editor.visibility.workspace")),t().createElement("div",{style:je({},P.legend)},w("editor.visibility.warning"),!g&&t().createElement("span",{style:{fontWeight:500,cursor:"pointer"},onClick:function(){return n.setState({policiesEdit:!0})}}," - ",w("editor.visibility.edit"))),t().createElement(h,{pydio:i,policies:c.Policies,onChangePolicies:function(e){return c.Policies=e},readonly:!g,showHeader:!1,forceCustom:!0,advancedLegend:t().createElement("span",null),advancedContainerStyle:g?{paddingBottom:300}:{},allowedActions:{READ:w("policies.builder.action.read"),WRITE:w("policies.builder.action.write")}})))}}])&&Te(r.prototype,o),Object.defineProperty(r,"prototype",{writable:!1}),s}(e.Component);Ke=(0,f.muiThemeable)()(Ke);const We=require("pydio/model/data-model");var Ue=n.n(We);const qe=require("pydio/model/node");var He=n.n(qe),Je=c().requireLib("components").MaterialTable;const ze=i()({displayName:"WorkspaceList",mixins:[AdminComponents.MessagesConsumerMixin],propTypes:{dataModel:l().instanceOf(Ue()).isRequired,rootNode:l().instanceOf(He()).isRequired,currentNode:l().instanceOf(He()).isRequired,openSelection:l().func,advanced:l().boolean},getInitialState:function(){return{workspaces:[],loading:!1}},startLoad:function(){this.props.onLoadState&&this.props.onLoadState(!0),this.setState({loading:!0})},endLoad:function(){this.props.onLoadState&&this.props.onLoadState(!1),this.setState({loading:!1})},reload:function(){var e=this;this.startLoad(),C.listWorkspaces().then((function(t){e.endLoad(),e.setState({workspaces:t.Workspaces||[]})})).catch((function(t){e.endLoad()}))},componentDidMount:function(){this.reload()},openTableRows:function(e){e.length&&this.props.openSelection(e[0].workspace)},deleteAction:function(e){var t=this,n=this.props.pydio;n.UI.openConfirmDialog({message:n.MessageHash["settings.35"],destructive:[e.Label],validCallback:function(){new C(e).remove().then((function(){t.reload()}))}})},computeTableData:function(){var e=[],t=this.props.filterString;return this.state.workspaces.map((function(n){var r="";n.RootNodes&&(r=Object.keys(n.RootNodes).map((function(e){return g().trimRight(n.RootNodes[e].Path,"/")})).join(", "));var o=!1;if(n.Attributes)try{var i=JSON.parse(n.Attributes);!0!==i.ALLOW_SYNC&&"true"!==i.ALLOW_SYNC||(o=!0)}catch(e){}if(t){var a=t.toLowerCase(),l=n.Label&&n.Label.toLowerCase().indexOf(a)>=0,s=n.Description&&n.Description.toLowerCase().indexOf(a)>=0,c=r&&r.toLowerCase().indexOf(a)>=0;if(!(l||s||c))return}e.push({workspace:n,label:n.Label,description:n.Description,slug:n.Slug,summary:r,syncable:o})})),e.sort(g().arraySorter("label",!1,!0)),e},render:function(){var e=this,n=this.props,r=n.pydio,o=n.advanced,i=n.editable,a=n.tableStyles,l=n.openSelection,s=function(e){return r.MessageHash["ajxp_admin."+e]},c=function(e){return r.MessageHash["settings."+e]},u=[{name:"label",label:c("8"),style:{width:"20%",fontSize:15},headerStyle:{width:"20%"},sorter:{type:"string",default:"true"}},{name:"description",label:c("103"),hideSmall:!0,style:{width:"25%"},headerStyle:{width:"25%"},sorter:{type:"string"}},{name:"summary",label:s("ws.board.summary"),hideSmall:!0,style:{width:"25%"},headerStyle:{width:"25%"},sorter:{type:"string"}}];o&&u.push({name:"syncable",label:s("ws.board.syncable"),style:{width:"10%",textAlign:"center"},headerStyle:{width:"10%",textAlign:"center"},sorter:{type:"number",sortValue:function(e){return e.syncable?1:0}},renderCell:function(e){return t().createElement("span",{className:"mdi mdi-check",style:{fontSize:18,opacity:e.syncable?1:0}})}}),u.push({name:"slug",label:s("ws.5"),style:{width:"20%"},headerStyle:{width:"20%"},sorter:{type:"string"}});var d=this.state.loading,p=this.computeTableData(),f=[];i&&f.push({iconClassName:"mdi mdi-pencil",tooltip:"Edit Workspace",onClick:function(e){l(e.workspace)},disable:function(e){return!e.workspace.PoliciesContextEditable}});var y=r.user.getRepositoriesList();return f.push({iconClassName:"mdi mdi-open-in-new",tooltip:"Open this workspace...",onClick:function(e){r.triggerRepositoryChange(e.workspace.UUID)},disable:function(e){return!y.has(e.workspace.UUID)}}),i&&f.push({iconClassName:"mdi mdi-delete",onClick:function(t){e.deleteAction(t.workspace)},disable:function(e){return!e.workspace.PoliciesContextEditable}}),t().createElement(Je,{data:p,columns:u,actions:f,onSelectRows:i?this.openTableRows.bind(this):null,deselectOnClickAway:!0,showCheckboxes:!1,emptyStateString:s(d?"loading":"ws.board.empty"),masterStyles:a,paginate:[10,25,50,100],defaultPageSize:25,storageKey:"console.workspaces.list"})}});function Ye(){return Ye=Object.assign?Object.assign.bind():function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"flat";if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),(t=a.call(this)).internalInvalid=!1,t.nameInvalid=!1,t.existingNames=n,e)t.model=e,e.StorageConfiguration||(e.StorageConfiguration={}),t.snapshot=JSON.parse(JSON.stringify(e));else switch(t.model=new S.ObjectDataSource,t.model.EncryptionMode=S.ObjectEncryptionMode.constructFromObject("CLEAR"),t.model.StorageType=S.ObjectStorageType.constructFromObject("LOCAL"),r){case"flat":t.model.StorageConfiguration={folder:"",normalize:"false"},t.model.FlatStorage=!0;break;case"structured":t.model.StorageConfiguration={folder:"",normalize:"false"},t.model.FlatStorage=!1;break;case"internal":t.model.StorageConfiguration={folder:"",normalize:"false",cellsInternal:"true"},t.model.FlatStorage=!0}return t.observableModel=t.buildProxy(t.model),t}return t=l,n=[{key:"buildProxy",value:function(e){var t=this;return new Proxy(e,{set:function(e,n,r){var o=r;if("StorageType"===n)e.StorageConfiguration={},"LOCAL"===o?e.StorageConfiguration={folder:"",normalize:"false"}:"S3"===o?e.StorageConfiguration={customEndpoint:""}:"GCS"===o&&(e.StorageConfiguration={jsonCredentials:""}),t.internalInvalid=!1,e.ApiKey=e.ApiSecret="";else if("Name"===n)o=g().computeStringSlug(o).replace("-","").substr(0,33),t.existingNames&&t.existingNames.indexOf(o)>-1?t.nameInvalid=!0:t.nameInvalid=!1;else if("folder"===n)"/"!==o[0]&&(o="/"+o);else{if("invalid"===n)return t.internalInvalid=r,t.notify("update"),!0;"PeerAddress"===n&&"ANY"===r&&(o="")}return e[n]=o,t.notify("update"),!0},get:function(e,n){var r=e[n];return r instanceof Array?r:r instanceof Object?t.buildProxy(r):"StorageType"===n?r||"LOCAL":"PeerAddress"===n?r||"ANY":r}})}},{key:"getModel",value:function(){return this.observableModel}},{key:"isValid",value:function(){return!this.internalInvalid&&!this.nameInvalid&&("S3"===this.model.StorageType||"AZURE"===this.model.StorageType?this.model.ApiKey&&this.model.ApiSecret&&this.model.Name&&(this.model.ObjectsBucket||this.model.StorageConfiguration.bucketsRegexp):"GCS"===this.model.StorageType?this.model.Name&&this.model.ObjectsBucket&&this.model.StorageConfiguration&&this.model.StorageConfiguration.jsonCredentials:this.model.Name&&this.model.StorageConfiguration&&this.model.StorageConfiguration.folder)}},{key:"getNameError",value:function(e){return this.nameInvalid?e("name.inuse"):null}},{key:"deleteSource",value:function(){return new S.ConfigServiceApi(ut.getRestClient()).deleteDataSource(this.model.Name)}},{key:"resyncSource",value:function(){var e=new S.JobsServiceApi(ut.getRestClient()),t=new S.RestUserJobRequest;return t.JobName="datasource-resync",t.JsonParameters=JSON.stringify({dsName:this.model.Name}),e.userCreateJob("datasource-resync",t)}},{key:"revert",value:function(){return this.model=this.snapshot,this.observableModel=this.buildProxy(this.model),this.snapshot=JSON.parse(JSON.stringify(this.model)),this.observableModel}},{key:"saveSource",value:function(){var e=this;return new S.ConfigServiceApi(ut.getRestClient()).putDataSource(this.model.Name,this.model).then((function(t){e.snapshot=JSON.parse(JSON.stringify(e.model)),e.notify("update")}))}},{key:"stripPrefix",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(!t)return e;var n={};return Object.keys(e).map((function(r){n[r.replace(t,"")]=e[r]})),n}},{key:"getDataWithPrefix",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(""===t)return this.model;var n={};return Object.keys(this.model).forEach((function(r){n[t+r]=e.model[r],"EncryptionMode"!==r||e.model[r]||(n[t+r]="CLEAR")})),n}}],r=[{key:"loadDatasources",value:function(){return new S.ConfigServiceApi(ut.getRestClient()).listDataSources()}},{key:"loadVersioningPolicies",value:function(){return new S.ConfigServiceApi(ut.getRestClient()).listVersioningPolicies()}},{key:"loadStatuses",value:function(){return new S.ConfigServiceApi(ut.getRestClient()).listServices("STARTED")}},{key:"loadEncryptionKeys",value:function(){return new S.ConfigServiceApi(ut.getRestClient()).listEncryptionKeys(new S.EncryptionAdminListKeysRequest)}},{key:"loadBuckets",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=new S.ConfigServiceApi(ut.getRestClient()),r=new S.RestListStorageBucketsRequest;return r.DataSource=e,t&&(r.BucketsRegexp=t),n.listStorageBuckets(r)}},{key:"createBucket",value:function(e,t){var n=new S.ConfigServiceApi(ut.getRestClient()),r=new S.RestCreateStorageBucketRequest;return r.DataSource=e,n.createStorageBucket(t,r)}}],n&&at(t.prototype,n),r&&at(t,r),Object.defineProperty(t,"prototype",{writable:!1}),l}(ct);function pt(e){return pt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pt(e)}function ft(e,t){for(var n=0;n=0;return v?f||(b=t().createElement("span",null,b," ",t().createElement("span",{className:"mdi mdi-alert"})," ",y("card.cleanOnDelete-legend-on"))):b=t().createElement("span",null,b," ",t().createElement("span",{className:"mdi mdi-alert"})," ",y("card.cleanOnDelete-legend-off")),a?t().createElement("div",{style:{display:"flex"}},t().createElement("div",{style:{flex:1,lineHeight:"40px"}},g),t().createElement("div",{style:{display:"flex"}},t().createElement(u.IconButton,{iconClassName:"mdi mdi-content-save",onClick:this.save.bind(this),disabled:!p,tooltip:"Save"}),t().createElement(u.IconButton,{iconClassName:"mdi mdi-close",onClick:function(){return s()},tooltip:"Close"}))):t().createElement("div",{style:{backgroundColor:"#f5f5f5",paddingBottom:12}},t().createElement("div",{style:{padding:i?"16px 24px 8px":"10px 24px 0",fontWeight:500,display:"flex",alignItems:"center"}},t().createElement("div",{style:{flex:1}},y("card.title")),!i&&t().createElement(u.FlatButton,{onClick:this.save.bind(this),primary:!0,disabled:!p,label:y("save")})),t().createElement("div",{style:{margin:"6px 24px 0 24px",border:"1px solid #e0e0e0"}},g),t().createElement("div",{style:{margin:"12px 24px",opacity:v?1:.4}},t().createElement(u.Checkbox,{disabled:i,checked:f,onCheck:function(t,n){e.setState({cleanOnDelete:n,dirty:!0})},label:b})))}}])&&ft(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),l}(t().Component);function gt(e){return gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gt(e)}function bt(){return bt=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:"",n=this.props.peerAddress,r=this.state.searchText,o=t;if(!t&&r){var i=r.lastIndexOf("/");o=r.substr(0,i)}if(null!==this.lastSearch&&this.lastSearch===o)return Promise.resolve();this.lastSearch=o;var a=new S.ConfigServiceApi(m().getRestClient()),l=new S.RestListPeerFoldersRequest;return l.PeerAddress="ANY"===n?"":n,l.Path=o,this.setState({loading:!0}),a.listPeerFolders(n,l).then((function(t){var n=t.Children||[];n=n.map((function(e){return"/"!==e.Path[0]&&(e.Path="/"+e.Path),e})),e.setState({nodes:n,loading:!1})})).catch((function(){e.setState({loading:!1})}))}},{key:"createFolder",value:function(e){var t=this,n=this.props,r=n.peerAddress,o=n.pydio,i=this.state.value,a=new S.ConfigServiceApi(m().getRestClient()),l=new S.RestCreatePeerFolderRequest;l.PeerAddress="ANY"===r?"":r,l.Path=i+"/"+e,a.createPeerFolder(r,l).then((function(e){t.lastSearch=null,t.loadValues(i).then((function(){t.handleNewRequest({key:l.Path}),t.setState({searchText:l.Path})}))})).catch((function(e){o.UI.displayMessage("ERROR",e.message)}))}},{key:"renderNode",value:function(e){var n=T().getBasename(e.Path),r=T().getDirname(e.Path),o=t().createElement("span",null,e.Path);return g().computeStringSlug(n)!==n?o=t().createElement("span",null,t().createElement("span",null,r),"/",t().createElement("span",{style:{color:"#c62828"}},n)):e.MetaStore&&e.MetaStore.symlink&&(o=t().createElement("span",null,t().createElement("span",null,r),"/",t().createElement("span",{style:{color:"#1976d2"}},n))),{key:e.Path,text:e.Path,invalid:!1,value:t().createElement(u.MenuItem,null,t().createElement(u.FontIcon,{className:"mdi mdi-folder",color:"#616161",style:{float:"left",marginRight:8}})," ",o)}}},{key:"showCreateDialog",value:function(){var e=this,t=this.props.pydio,n=this.state.value,r=function(e){return t.MessageHash["ajxp_admin.ds.editor.selector."+e]||e};t.UI.openComponentInModal("PydioReactUI","PromptDialog",{dialogTitle:r("mkdir"),legendId:r("mkdir.legend").replace("%s",n),fieldLabelId:r("mkdir.field"),submitValue:function(t){t&&e.createFolder(t)}})}},{key:"render",value:function(){var e=this,n=this.state,r=n.nodes,o=n.loading,i=n.exist,a=n.value,l=n.searchText,s=this.props,c=s.fieldLabel,d=s.pydio,p=[];r&&r.forEach((function(t){p.push(e.renderNode(t))}));var f=l||a;return t().createElement("div",{style:{position:"relative",marginTop:-5}},t().createElement("div",{style:{position:"absolute",right:6,top:29,width:30,zIndex:1}},t().createElement(u.RefreshIndicator,{size:25,left:0,top:0,status:o?"loading":"hide"})),a&&i&&!o&&(!l||l===a)&&t().createElement("div",{style:{position:"absolute",right:0,zIndex:1,top:18}},t().createElement(u.IconButton,{iconClassName:"mdi mdi-folder-plus",iconStyle:{color:"#9e9e9e"},onClick:function(){return e.showCreateDialog()},tooltip:d.MessageHash["ajxp_admin.ds.editor.selector.mkdir"],tooltipPosition:"top-center"})),t().createElement(qt,{fullWidth:!0,searchText:f,onUpdateInput:this.handleUpdateInput.bind(this),onNewRequest:this.handleNewRequest.bind(this),dataSource:p,hintText:c,filter:function(e,t){return 0===t.toLowerCase().indexOf(e.toLowerCase())},openOnFocus:!0,menuProps:{maxHeight:200}}))}}]),r}(t().Component),Jt=function(e){It(r,e);var n=Bt(r);function r(e){var t;return At(this,r),(t=n.call(this,e)).state={peerAddresses:[],invalid:!1,m:function(t){return e.pydio.MessageHash["ajxp_admin.ds.editor."+t]||t}},t}return Mt(r,[{key:"compareAddresses",value:function(e,t){var n=e.split("|"),r=t.split("|");return r.filter((function(e){return n.indexOf(e)>-1})).length||n.filter((function(e){return r.indexOf(e)>-1})).length}},{key:"componentDidMount",value:function(){var e=this,t=this.props.model;new S.ConfigServiceApi(m().getRestClient()).listPeersAddresses().then((function(n){var r=n.PeerAddresses||[];if(1!==r||t.PeerAddress||(t.PeerAddress=r[0]),e.setState({peerAddresses:r}),t.PeerAddress&&-1===r.indexOf(t.PeerAddress)){var o=r.filter((function(n){return e.compareAddresses(n,t.PeerAddress)}));o.length?t.PeerAddress=o[0]:e.setState({invalidAddress:t.PeerAddress})}}))}},{key:"baseIsInvalid",value:function(e){var t=this.state.m,n=!1,r=T().getBasename(e);return g().trim(e,"/").split("/").length<2?n=t("selector.error.depth"):g().computeStringSlug(r)!==r&&(n=t("selector.error.dnsname")),n}},{key:"onPathChange",value:function(e,t){var n=this.props.model,r=this.baseIsInvalid(e);n.invalid=r,n.StorageConfiguration.folder=e,t?void 0!==n.StorageConfiguration.create&&delete n.StorageConfiguration.create:n.StorageConfiguration.create="true",this.setState({invalid:r})}},{key:"onPeerChange",value:function(e){var t=this.props.model,n=this.state.invalidAddress;e!==n&&(t.PeerAddress=e,n&&this.setState({invalidAddress:null}))}},{key:"render",value:function(){var e=this,n=this.props,r=n.model,o=n.pydio,i=n.styles,a=this.state,l=a.peerAddresses,s=a.invalidAddress,c=a.invalid,d=a.m,p=Rt(l);return p=["ANY"].concat(Rt(p)),s&&"ANY"!==s&&(p=[s].concat(Rt(p))),t().createElement("div",null,t().createElement("div",{style:{paddingBottom:8}},t().createElement("div",{style:i.subLegend},d("storage.legend.fs.peer")),t().createElement(Ut,{value:r.PeerAddress||"",variant:"v2",hintText:d("selector.peer")+" *",onChange:function(t,n,r){return e.onPeerChange(r)},fullWidth:!0},p.map((function(e){var n=d("selector.peer.any");return"ANY"!==e&&(n=d("selector.peer.word")+" : "+e.replace("|"," | ")+(e===s?" ("+d("selector.peer.invalid")+")":"")),t().createElement(u.MenuItem,{value:e,primaryText:n})})))),t().createElement("div",null,t().createElement("div",{style:xt(xt({},i.subLegend),{},{paddingBottom:6})},d("storage.legend.fs.path")),r.PeerAddress&&t().createElement(Ht,{pydio:o,value:r.StorageConfiguration.folder,peerAddress:r.PeerAddress,onChange:this.onPathChange.bind(this),fieldLabel:d("selector.completer")+(r.StorageConfiguration.create?" ("+d("selector.completer.create")+")":"")+" *",hintText:d("selector.completer.hint")}),!r.PeerAddress&&t().createElement(Wt,{style:{marginTop:-3},fullWidth:!0,variant:"v2",disabled:!0,value:r.StorageConfiguration.folder,floatingLabelText:d("selector.folder")+" *",hintText:d("selector.folder.hint")})),c&&t().createElement("div",{style:{color:"#c62828"}},c))}}]),r}(t().Component);const zt=require("pydio/util/dom");var Yt=n.n(zt);function Gt(e){return Gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Gt(e)}function Qt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function $t(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&this.setState({currentPane:Nn[n-1]})}},{key:"stepperNext",value:function(){var e=this.state.currentPane,t=void 0===e?"main":e,n=Nn.indexOf(t);n-1&&o0;)r.pop(),i--}n.KeepPeriods=r,this.setState({saveValue:n,dirty:!0})}},{key:"updateValidStatus",value:function(e){}},{key:"render",value:function(){var e,n=this,r=this.props,o=r.create,i=r.readonly,a=r.pydio,l=r.muiTheme,c=r.internalSources,d=this.state,p=d.loaded,f=d.policy,y=d.saveValue,m=d.m,h=this.state.parameters,g=l.palette,b=Qn(g);if(h&&p){c&&(h=h.map((function(e){return"VersionsDataSourceName"===e.name&&(e.choices+=","+c.map((function(e){return e+"|DataSource "+e})).join(",")),e})));var v=s.TreeVersioningPolicyToValues(f);y&&(v=s.TreeVersioningPolicyToValues(y)),e=t().createElement(zn,{parameters:h,values:v,className:"full-width",onChange:this.onFormChange.bind(this),onValidStatusChange:this.updateValidStatus.bind(this),disabled:i,depth:-2,variant:"v2"})}var S=[];i||(o||(S.push(Gn.actionButton(m("delete"),"mdi mdi-delete",(function(){n.deleteSource()}))),S.push(Gn.actionButton(a.MessageHash["ajxp_admin.plugins.6"],"mdi mdi-undo",(function(){n.resetForm()}),!this.state.dirty))),S.push(Gn.actionButton(a.MessageHash[53],"mdi mdi-content-save",(function(){n.saveSource()}),!this.state.valid||!this.state.dirty)));var w=y?y.Name:f.Name;return w||(w=""),t().createElement(Gn,{title:p&&h?m("title").replace("%s",w):a.MessageHash["ajxp_admin.loading"],titleLeftIcon:"mdi mdi-clock-start",titleActionBar:S,closeAction:this.props.closeEditor,className:"workspace-editor",contentFill:!0},t().createElement(u.Paper,{zDepth:0,style:{backgroundColor:b.body.block.header.backgroundColor,padding:"0px 20px",height:64,display:"flex",alignItems:"center"}},t().createElement("div",{style:{overflowX:"auto",width:"100%"}},t().createElement(_n,{pydio:a,policy:y||f}))),e,b.formSimpleCss())}}],o=[{key:"valuesToTreeVersioningPolicy",value:function(e){for(var t=[],n="IntervalStart",r="MaxNumber",o=n,i=r,a=0;void 0!==e[o]&&void 0!==e[i];){var l=new S.TreeVersioningKeepPeriod;l.IntervalStart=e[o],l.MaxNumber=e[i],t.push(l),delete e[i],delete e[o],o=n+"_"+ ++a,i=r+"_"+a}return e.KeepPeriods=t,S.TreeVersioningPolicy.constructFromObject(e)}},{key:"TreeVersioningPolicyToValues",value:function(e){var t=function(e){for(var t=1;t0?(t["IntervalStart_"+n]=e.IntervalStart||0,t["MaxNumber_"+n]=e.MaxNumber||0):(t.IntervalStart=e.IntervalStart||0,t.MaxNumber=e.MaxNumber||0),n++}))}return t.NodeDeletedStrategy||(t.NodeDeletedStrategy="KeepAll"),t}}],r&&Kn(n.prototype,r),o&&Kn(n,o),Object.defineProperty(n,"prototype",{writable:!1}),s}(t().Component);$n=(0,f.muiThemeable)()($n);var Xn="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),Zn=new Uint8Array(16);function er(){if(!Xn)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Xn(Zn)}for(var tr=[],nr=0;nr<256;++nr)tr[nr]=(nr+256).toString(16).substr(1);const rr=function(e,t,n){var r=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var o=(e=e||{}).random||(e.rng||er)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t)for(var i=0;i<16;++i)t[r+i]=o[i];return t||function(e,t){var n=t||0,r=tr;return[r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]]].join("")}(o)};function or(e){return or="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},or(e)}function ir(){return ir=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:null;this.setState({dsLoaded:!1,versionsLoaded:!1,newDsName:t}),dt.loadDatasources().then((function(t){e.setState({dataSources:t.DataSources||[],dsLoaded:!0},(function(){e.syncStatuses()}))})),dt.loadVersioningPolicies().then((function(t){e.setState({versioningPolicies:t.Policies||[],versionsLoaded:!0})})),dt.loadStatuses().then((function(t){e.setState({startedServices:t.Services})})),this.refs&&this.refs.encKeys&&this.refs.encKeys.load()}},{key:"syncStatuses",value:function(){var e=this,t=this.state.dataSources,n=void 0===t?[]:t;n.length&&xr.getInstance().getAdminJobs(null,null,n.map((function(e){return"resync-ds-"+e.Name})),1).then((function(t){var n={};(t.Jobs||[]).forEach((function(e){e.Tasks&&e.Tasks.length&&(n[e.ID.replace("resync-ds-","")]=e)})),e.setState({resyncJobs:n})}))}},{key:"closeEditor",value:function(){this.props.closeRightPane()}},{key:"openDataSource",value:function(e){if(e.length){var t=e[0],n=this.props,r=n.openRightPane,o=n.accessByName,i=n.pydio,a=n.storageTypes;r({COMPONENT:An,PROPS:{ref:"editor",pydio:i,dataSource:t,storageTypes:a,readonly:!o("CreateDatasource"),closeEditor:this.closeEditor.bind(this),reloadList:this.load.bind(this)}})}}},{key:"makeStatusLabel",value:function(e,n){switch(e){case"error":return t().createElement("span",{style:{color:"#e53935"}},t().createElement("span",{className:"mdi mdi-alert"})," ",n);case"running":return t().createElement("span",{style:{color:"#ef6c00"}},t().createElement("span",{className:"mdi mdi-timer-sand"})," ",n);default:return t().createElement("span",{style:{color:"#1b5e20"}},t().createElement("span",{className:"mdi mdi-check"})," ",n)}}},{key:"computeStatus",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(n&&e.Disabled)return-1;var r,o,i,a=this.state,l=a.startedServices,s=void 0===l?[]:l,c=a.peerAddresses,u=void 0===c?[]:c,d=a.m,p=a.newDsName;if(!s.length)return d("status.na");if(s.map((function(t){t.Name==="pydio.grpc.data.sync."+e.Name&&"STARTED"===t.Status?o=!0:t.Name==="pydio.grpc.data.index."+e.Name&&"STARTED"===t.Status?r=!0:t.Name==="pydio.grpc.data.objects."+e.ObjectsServiceName&&"STARTED"===t.Status&&(i=!0)})),r&&o&&i)return p&&e.Name===p&&setTimeout((function(){t.setState({newDsName:null})}),100),n?0:this.makeStatusLabel("ok",d("status.ok"));if(p&&e.Name===p)return n?1:this.makeStatusLabel("running",d("status.starting"));if(r||o||i){var f=[];return r||f.push(d("status.index")),o||f.push(d("status.sync")),i||f.push(d("status.object")),n?3:this.makeStatusLabel("error",f.join(" - "))}var y=d("status.ko");return u&&-1===u.indexOf(e.PeerAddress)&&(y=d("status.ko-peers").replace("%s",e.PeerAddress)),n?2:this.makeStatusLabel("error",y)}},{key:"computeJobStatus",value:function(e){var t=e.Tasks[0];switch(t.Status){case"Finished":return this.makeStatusLabel("ok",Tr(new Date(1e3*parseInt(t.EndTime))).fromNow());case"Running":return this.makeStatusLabel("running",t.StatusMessage||"Running...");case"Error":return this.makeStatusLabel("error",t.StatusMessage);case"Queued":return this.makeStatusLabel("running",t.StatusMessage)}return this.makeStatusLabel("ok",t.StatusMessage)}},{key:"openVersionPolicy",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(void 0===e||e.length){var n,r=!1;if(void 0===e){r=!0,(n=new S.TreeVersioningPolicy).Uuid=rr(),n.VersionsDataSourceName="versions",n.NodeDeletedStrategy="KeepAll";var o=new S.TreeVersioningKeepPeriod;o.IntervalStart="0",o.MaxNumber=-1,n.KeepPeriods=[o]}else n=e[0],t&&(r=!0,(n=S.TreeVersioningPolicy.constructFromObject(JSON.parse(JSON.stringify(n)))).Uuid=rr(),n.Name+=" (Copy)");var i=this.props,a=i.openRightPane,l=i.pydio,s=i.versioningReadonly,c=i.accessByName,u=this.state.dataSources;a({COMPONENT:$n,PROPS:{ref:"editor",versionPolicy:n,create:r,pydio:l,internalSources:u.filter((function(e){return e.StorageConfiguration&&e.StorageConfiguration.cellsInternal})).map((function(e){return e.Name})),readonly:s||!c("CreateVersioning"),closeEditor:this.closeEditor.bind(this),reloadList:this.load.bind(this)}})}}},{key:"deleteVersionPolicy",value:function(e){var t=this,n=this.props.pydio;n.UI.openConfirmDialog({message:n.MessageHash["ajxp_admin.versions.editor.delete.confirm"],destructive:[e.Name],validCallback:function(){Y().loadClass("EnterpriseSDK").then((function(n){new n.EnterpriseConfigServiceApi(m().getRestClient()).deleteVersioningPolicy(e.Uuid).then((function(e){t.load()}))}))}})}},{key:"createDataSource",value:function(e){var t=this.props,n=t.pydio,r=t.storageTypes,o=this.state.dataSources;this.props.openRightPane({COMPONENT:An,PROPS:{ref:"editor",create:!0,createStructure:e,existingNames:o.map((function(e){return e.Name})),pydio:n,storageTypes:r,closeEditor:this.closeEditor.bind(this),reloadList:this.load.bind(this)}})}},{key:"resyncDataSource",value:function(e,t,n){e.UI.openConfirmDialog({message:t("editor.legend.resync"),skipNext:"datasource.resync.confirm",validCallback:function(){new dt(n).resyncSource()}})}},{key:"deleteDataSource",value:function(e,t,n){var r=this;e.UI.openConfirmDialog({message:t("editor.delete.warning"),validCallback:function(){new dt(n).deleteSource().then((function(){r.load()}))},destructive:[n.Name]})}},{key:"createWorkspaceFromDatasource",value:function(e,t,n){var r=new C,o=r.getModel(),i=n.Name;o.Label=i,o.Description="Root of "+i,o.Slug=i,o.Attributes.DEFAULT_RIGHTS="";var a={Uuid:"DATASOURCE:"+i,Path:i};o.RootNodes[a.Uuid]=a,e.UI.openComponentInModal("PydioReactUI","PromptDialog",{dialogTitle:t("board.wsfromds.title"),legendId:t("board.wsfromds.legend").replace("%s",i),fieldLabelId:t("board.wsfromds.field"),defaultValue:t("board.wsfromds.defaultPrefix").replace("%s",i),submitValue:function(t){o.Label=t,r.save().then((function(){e.goTo("/data/workspaces")}))}})}},{key:"render",value:function(){var n=this,r=this.state,o=r.dataSources,i=r.resyncJobs,a=r.versioningPolicies,l=r.m,s=r.createDialog;o.sort(g().arraySorter("Name"));var c=o.filter((function(e){return!(e.StorageConfiguration&&e.StorageConfiguration.cellsInternal)})),d=o.filter((function(e){return e.StorageConfiguration&&e.StorageConfiguration.cellsInternal}));a.sort(g().arraySorter("Name"));var p=AdminComponents.AdminStyles(this.props.muiTheme.palette),f=p.body,y=f.tableMaster,m=f.block.props,h=f.block.container,b=this.props,v=b.currentNode,S=b.pydio,w=b.versioningReadonly,E=b.accessByName,O=[{name:"Name",label:l("name"),style:{fontSize:15,width:"15%"},headerStyle:{width:"15%"},sorter:{type:"string",default:!0}},{name:"StorageType",label:l("storage"),style:{width:"15%"},headerStyle:{width:"15%"},renderCell:function(e){var t="storage.fs";switch(e.StorageType){case"S3":t="storage.s3";break;case"AZURE":t="storage.azure";break;case"GCS":t="storage.gcs"}return l(t)},sorter:{type:"string"}},{name:"Status",label:l("status"),hideSmall:!0,renderCell:function(e){return e.Disabled?t().createElement("span",{style:{color:"#757575"}},t().createElement("span",{className:"mdi mdi-checkbox-blank-circle-outline"})," ",l("status.disabled")):n.computeStatus(e)},sorter:{type:"number",value:function(e){return n.computeStatus(e,!0)}}},{name:"SyncStatus",label:l("syncStatus"),hideSmall:!0,renderCell:function(e){return i&&i[e.Name]?n.computeJobStatus(i[e.Name]):"n/a"},sorter:{type:"number",value:function(e){return i&&i[e.Name]?i[e.Name].Tasks[0].EndTime:0}}},{name:"VersioningPolicyName",label:l("versioning"),style:{width:"15%"},headerStyle:{width:"15%"},hideSmall:!0,renderCell:function(e){var t=a.find((function(t){return t.Uuid===e.VersioningPolicyName}));return t?t.Name:e.VersioningPolicyName||"-"},sorter:{type:"string"}},{name:"EncryptionMode",label:l("encryption"),hideSmall:!0,style:{width:"8%",textAlign:"center"},headerStyle:{width:"8%"},renderCell:function(e){return"MASTER"===e.EncryptionMode?t().createElement("span",{className:"mdi mdi-check"}):"-"},sorter:{type:"number",value:function(e){return"MASTER"===e.EncryptionMode?1:0}}}];c.filter((function(e){return!e.FlatStorage})).length||(O=O.filter((function(e){return"SyncStatus"!==e.name})));var k=O.filter((function(e){return"VersioningPolicyName"!==e.name&&"SyncStatus"!==e.name})),C=v.getLabel(),P=v.getMetadata().get("icon_class"),j=[];E("CreateDatasource")&&j.push(t().createElement(u.FlatButton,wr({primary:!0,label:S.MessageHash["ajxp_admin.ws.4"],onClick:function(){return n.setState({createDialog:!0})}},p.props.header.flatButton)));var x=!w&&E("CreateVersioning");x&&j.push(t().createElement(u.FlatButton,wr({primary:!0,label:S.MessageHash["ajxp_admin.ws.4b"],onClick:function(){n.openVersionPolicy()}},p.props.header.flatButton)));var T=[{name:"Name",label:l("versioning.name"),style:{width:180,fontSize:15},headerStyle:{width:180},sorter:{type:"string",default:!0}},{name:"Description",label:l("versioning.description"),sorter:{type:"string"}},{name:"KeepPeriods",hideSmall:!0,label:l("versioning.periods"),renderCell:function(e){return t().createElement(_n,{rendering:"short",policy:e,pydio:S})}},{name:"VersionsDataSourceName",style:{width:180},headerStyle:{width:180},label:l("versioning.storage"),sorter:{type:"string"},hideSmall:!0}],R=[];E("CreateDatasource")&&R.push({iconClassName:"mdi mdi-pencil",tooltip:"Edit datasource",onClick:function(e){n.openDataSource([e])}}),R.push({iconClassName:"mdi mdi-folder-plus",tooltip:"Create workspace here",onClick:function(e){return n.createWorkspaceFromDatasource(S,l,e)}}),E("CreateDatasource")&&R.push({iconClassName:"mdi mdi-delete",tooltip:l("editor.legend.delete.button"),onClick:function(e){return n.deleteDataSource(S,l,e)}});var N=[].concat(R);c.filter((function(e){return!e.FlatStorage})).length>0&&R.push({iconClassName:"mdi mdi-sync",tooltip:l("editor.legend.resync.button"),onClick:function(e){return n.resyncDataSource(S,l,e)},disable:function(e){return e.FlatStorage}});var A=[];return A.push({iconClassName:x?"mdi mdi-pencil":"mdi mdi-eye",tooltip:x?"Edit policy":"Display policy",onClick:function(e){n.openVersionPolicy([e])}}),x&&(A.push({iconClassName:"mdi mdi-content-copy",tooltip:"Duplicate policy",onClick:function(e){return n.openVersionPolicy([e],!0)}}),A.push({iconClassName:"mdi mdi-delete",tooltip:"Delete policy",destructive:!0,onClick:function(e){return n.deleteVersionPolicy(e)}})),t().createElement("div",{className:"main-layout-nav-to-stack workspaces-board"},t().createElement("div",{className:"vertical-layout",style:{width:"100%"}},t().createElement(AdminComponents.Header,{title:C,icon:P,actions:j,reloadAction:this.load.bind(this),loading:!(this.state.dsLoaded&&this.state.versionsLoaded)}),t().createElement(hr,{open:s,onRequestClose:function(){n.setState({createDialog:!1})},onSubmit:function(e){n.createDataSource(e)}}),t().createElement("div",{className:"layout-fill"},t().createElement(AdminComponents.SubHeader,{title:l("board.ds.title"),legend:l("board.ds.legend")}),t().createElement(u.Paper,wr({},m,{style:vr({},h)}),t().createElement(Pr,{data:c,columns:O,actions:R,onSelectRows:this.openDataSource.bind(this),deselectOnClickAway:!0,showCheckboxes:!1,emptyStateString:l("emptyState"),masterStyles:y,storageKey:"console.datasources.list"})),d.length>0&&t().createElement(e.Fragment,null,t().createElement("div",{style:{padding:"0px 20px"}},"Internal DataSources are used to store binaries like files versions"),t().createElement(u.Paper,wr({},m,{style:vr({},h)}),t().createElement(Pr,{data:d,columns:k,actions:N,onSelectRows:this.openDataSource.bind(this),deselectOnClickAway:!0,showCheckboxes:!1,emptyStateString:l("emptyState"),masterStyles:y,storageKey:"console.internalsources.list"}))),t().createElement(AdminComponents.SubHeader,{title:l("board.versioning.title"),legend:l("board.versioning.legend")}),t().createElement(u.Paper,wr({},m,{style:vr({},h)}),t().createElement(Pr,{data:a,columns:T,actions:A,onSelectRows:this.openVersionPolicy.bind(this),deselectOnClickAway:!0,showCheckboxes:!1,masterStyles:y,storageKey:"console.versioning.policies.list"})),t().createElement(AdminComponents.SubHeader,{title:l("board.enc.title"),legend:l("board.enc.legend")}),t().createElement(dr,{pydio:S,ref:"encKeys",accessByName:E,adminStyles:p}))))}}],o&&Er(r.prototype,o),Object.defineProperty(r,"prototype",{writable:!1}),s}(t().Component);function Nr(e){return Nr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Nr(e)}function Ar(){return Ar=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);nr?1:-1}));var v=[{name:"Order",label:h("order"),style:{width:30},headerStyle:{width:30},hideSmall:!0,renderCell:function(e){return e.Order||"0"},sorter:{type:"number"}},{name:"Namespace",label:h("namespace"),style:{fontSize:15},sorter:{type:"string"}},{name:"Label",label:h("label"),style:{width:"25%"},headerStyle:{width:"25%"},sorter:{type:"string"}},{name:"Indexable",label:h("indexable"),style:{width:"10%"},headerStyle:{width:"10%"},hideSmall:!0,renderCell:function(e){return e.Indexable?"Yes":"No"},sorter:{type:"number",value:function(e){return e.Indexable?1:0}}},{name:"JsonDefinition",label:h("definition"),hideSmall:!0,renderCell:function(e){var t=e.JsonDefinition;if(!t)return"";var n=JSON.parse(t);return $.MetaTypes[n.type]||n.type},sorter:{type:"string"}}],S={};b.length?d.map((function(e){var t=ve(e);S[t]||(S[t]=[]),S[t].push(e)})):S[""]=d;var w=o.getLabel(),E=o.getMetadata().get("icon_class"),O=[],k=[];return a("Create")&&(O.push(t().createElement(u.FlatButton,Ar({primary:!0,label:h("namespace.add"),onClick:function(){e.create()}},s.props.header.flatButton))),k.push({iconClassName:"mdi mdi-pencil",onClick:function(t){e.open([t])}},{iconClassName:"mdi mdi-delete",onClick:function(t){e.deleteNs(t)}})),t().createElement("div",{className:"main-layout-nav-to-stack workspaces-board"},t().createElement(Oe,{pydio:i,open:f,create:m,namespace:y,onRequestClose:function(){return e.close()},reloadList:function(){return e.load()},namespaces:d,readonly:!a("Create"),policiesBuilder:l}),t().createElement("div",{className:"vertical-layout",style:{width:"100%"}},t().createElement(AdminComponents.Header,{title:w,icon:E,actions:O,reloadAction:this.load.bind(this),loading:p}),t().createElement("div",{className:"layout-fill"},t().createElement(AdminComponents.SubHeader,{title:h("namespaces"),legend:h("namespaces.legend")}),Object.keys(S).sort().map((function(n){return t().createElement(t().Fragment,null,n&&t().createElement("div",{style:{padding:20,fontWeight:500,paddingBottom:0}},"["+h("group")+"] "+n),!n&&b.length>0&&t().createElement("div",{style:{padding:20,fontWeight:500,paddingBottom:0}},h("default-group")),t().createElement(u.Paper,s.body.block.props,t().createElement(Br,{data:S[n],columns:v,actions:k,onSelectRows:e.open.bind(e),deselectOnClickAway:!0,showCheckboxes:!1,emptyStateString:h("empty"),masterStyles:s.body.tableMaster,storageKey:"console.metadata.list"})))})))))}}])&&Mr(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),l}(t().Component);Fr=_r()(Fr)})(),window.AdminWorkspaces=r})(); \ No newline at end of file diff --git a/frontend/front-srv/assets/access.settings/res/dist/AdminWorkspaces.min.js.gz b/frontend/front-srv/assets/access.settings/res/dist/AdminWorkspaces.min.js.gz index 6c77c46f7d13107e7d36cc30ba1ff152e73ac258..9ac552731aeac65640163f20672268cfbf79b1d0 100644 GIT binary patch delta 31073 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

r(_z-Uw)p`vkr!C;j5 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⁢6X8_9$im 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 pydio.MessageHash['ajxp_admin.' + id] || id; const mS = id => pydio.MessageHash['settings.' + id] || id; + const policiesMS = id => pydio.MessageHash['advanced_settings.' + id] || id; const readonly = !workspace.PoliciesContextEditable; let buttons = []; @@ -306,10 +307,10 @@ class WsEditor extends Component { {PoliciesBuilder && -

Workspace Visibility
+
{policiesMS('editor.visibility.workspace')}
- WARNING: this is a dangerous zone, modify only if you know what you are doing! - {!policiesEdit && this.setState({policiesEdit:true})}> - Edit Now} + {policiesMS('editor.visibility.warning')} + {!policiesEdit && this.setState({policiesEdit:true})}> - {policiesMS('editor.visibility.edit')}}
} advancedContainerStyle={policiesEdit?{paddingBottom: 300}:{}} - allowedActions={{'READ':'Read', 'WRITE':'Write'}} + allowedActions={{ + 'READ':policiesMS('policies.builder.action.read'), + 'WRITE':policiesMS('policies.builder.action.write') + }} /> }