PageSourceSearch

https://muse.gzlib.org.cn:8000/assets/v8/modules/files-710a78602491bead9c68.js

js gzlib.org.cn collected 2026-10-02 11:27:59 UTC 14,965 bytes, 1 lines download raw bytes

1(self.webpackChunk_vpn_app=self.webpackChunk_vpn_app||[]).push([[503],{33597:e=>{e.exports='<div class="md-dropzone dropzone md-standalone md-file-path-input"> <md-input-container md-no-float class="md-block has-icon m-t-0" ng-class="{\'md-readonly\': field.cogs.readonly}"> <div class="ui-input-inner"> <input aria-label="{{field.name}}" ng-model="field.value" placeholder="{{field.cogs.placeholder | i18n}}" ng-readonly="field.cogs.readonly" class="ui-input" ui-field-model="field" ui-field-valid="field" autocomplete="off"/> <div class="ui-input-underline ui-form-field-underline"> <span class="ui-input-ripple ui-form-field-ripple"></span> </div> <button class="md-button md-icon-button ui-link" ui-file-choose="field.value" type="button" md-cogs="field.cogs" md-value="field.value" md-change="field.value = value"> <i class="fas fa-folder-open">&nbsp;</i> </button> </div> <div class="md-input-subscript-wrapper md-form-field-subscript-wrapper"> <div class="md-hint" ng-bind-html="field.help | html"></div> <div class="md-input-hint-spacer md-form-field-hint-spacer"></div> </div> <div class="md-input-messages-animation" ui-input-messages="field"></div> </md-input-container> <h2 class="ui-drop-desc" ng-bind="::\'drop.zone.help\' | i18n: \'Drag files to any location to upload\'"></h2> <div class="md-dz-work-area" layout="row"> <div flex class="md-dz-preview"><div class="md-dz-placeholder" ng-bind-html="::\'drop.zone.preview.area\' | i18n: \'Preview\'"></div></div> <div flex="none" class="md-dz-buttons" layout="column"> <button class="ui-button clickable md-raised"> <i class="fas fa-folder-open"></i> <span ng-bind="::\'file.choose\' | i18n: \'Select a document\'"></span> </button> <button class="ui-button md-raised" ng-disabled="$mdDropZone.files.length == 0" ng-click="$mdDropZone.start()"> <i class="fas fa-file-upload"></i> <span ng-bind="::\'file.upload\' | i18n: \'Upload\'"></span> </button> <button class="ui-button md-raised" ng-disabled="$mdDropZone.files.length == 0" ng-click="$mdDropZone.clean($event)"> <i class="fas fa-trash"></i> <span ng-bind="::\'file.remove\' | i18n: \'Remove\'"></span> </button> <button class="ui-button md-raised"> <md-checkbox class="md-dense md-auto-upload m-b-0" ng-model="$mdDropZone.autoUpload"></md-checkbox> <span ng-bind="::\'file.auto.upload\' | i18n: \'Auto Upload\'"></span> </button> </div> </div> </div>'},80781:e=>{e.exports='<div class="ui-file-path-input" ui-dropzone-field="field"></div>'},95602:e=>{e.exports='<md-content class="file-page page-layout h-100-p" layout="row"> <md-content flex class="right-shadow" layout="column"> <div class="header accent p-24" flex="none"> <ul class="crumbs"> <li> <i class="fas fa-folder-open margin-right-8"></i> <a ng-href="{{$mdPage.basePath | forward}}"> <span ng-bind="\'file.root\' | locale: \'Root\'"></span> </a> </li> <li ng-repeat="link in $mdPage.crumbs.crumbs track by $index"> <i class="fas fa-folder-open margin-right-8"></i> <a ng-href="{{link.path | forward}}"> <span ng-bind="link.name"></span> </a> </li> <li> <md-menu> <md-button class="md-icon-button" ng-click="$mdMenu.open($event)"> <i md-menu-origin class="fas fa-plus"></i> </md-button> <md-menu-content md-position-mode="target-left"> <md-subheader ng-bind="\'dirs.current\' | i18n: \'Current Directory\'"></md-subheader> <md-menu-item> <md-button ng-click="$mdPage.createDirs()"> <i class="fas fa-folder-plus"></i> <span ng-bind="\'dirs.create\' | i18n: \'Create Directory\'"></span> </md-button> </md-menu-item> <md-menu-item> <md-button ng-click="$mdPage.uploadFile()"> <i class="fas fa-file-medical"></i> <span ng-bind="\'file.upload\' | i18n: \'Upload File\'"></span> </md-button> </md-menu-item> </md-menu-content> </md-menu> </li> </ul> <div layout="row" layout-xs="column"> <div flex class="area-quick-search"> <div class="input-search md-shell m-t-16"> <div class="search md-shell-inner"> <md-icon class="fas fa-search md-link" ng-class="{\'fa-spinner fa-spin\': $mdPage.table.loading}" ng-click="$mdPage.quickSearch($mdPage.cogs.qs)"></md-icon> <input aria-label="QuickSearch" type="text" ng-model="$mdPage.cogs.qs" placeholder="{{$mdPage.cogs.quickSearch.placeholder || (\'quick.search\' | i18n: \'quick search\')}}" ng-enter="$mdPage.quickSearch($mdPage.cogs.qs);"/> </div> </div> </div> <div flex="none" class="area-total" ng-if="$mdPage.widgets.total" md-var="$mdPage.widgets.total" md-name="$mdWidget"> <div class="m-t-16" layout="row"> <div class="md-total-field p-16" ng-repeat="$mdField in $mdWidget.fields"> <div class="md-name"> <label ng-bind="$mdField.text"></label> <small ng-if="$mdField.help"> <i class="fas fa-question-circle"></i> <md-tooltip>{{$mdField.help}}</md-tooltip> </small> </div> <div class="md-data"> <span ng-bind="$mdField.getValue($mdWidget.data)"></span> </div> </div> </div> </div> </div> </div> <md-content flex="auto"> <div ui-table="$mdPage.table" class="file-table md-body h-100-p"></div> </md-content> </md-content> <md-sidenav flex="30" class="md-sidenav-right min-w-320 md-whiteframe-1dp" md-is-locked-open="$mdMedia(\'gt-md\')" md-component-id="content-right"> <div class="header accent p-24"> <div class="md-toolbar-tools"> <span flex>&nbsp;</span> <md-button class="md-icon-button" ng-if="$mdPage.file" ng-click="$mdPage.remove($mdPage.file)">
1 <md-icon class="fas fa-trash"></md-icon> </md-button> </div> <div class="block-head"> <div class="title mb-8"><span ng-bind="$mdPage.file.filename"></span></div> <div class="subtitle secondary-text"> <span class="label" ng-bind="::\'file.updateTime\' | i18n: \'Modified\'"></span>: <span ui-date-ago="$mdPage.file.updateTime" title="{{$mdPage.file.updateTime | timestampFormat}}"></span> </div> </div> </div> <md-content> <div class="block-body p-24"> <div class="preview file-icon mh-240" layout="row"><md-icon class="type-icon fa-48" ng-class="{\'fas fa-folder\': $mdPage.file.dirs, \'fas fa-file\': !$mdPage.file.dirs}"></md-icon></div> <table class="ui-table-list"> <tbody> <tr> <th class="label"><span ng-bind="::\'file.type\' | i18n: \'Type\'"></span></th> <td> <span ng-switch="$mdPage.file.dirs"> <span ng-switch-when="true" ng-bind="::\'file.type.dirs\' | i18n: \'Directory\'"></span> <span ng-switch-default ng-bind="$mdPage.file.contentType || \'-\'"></span> </span> </td> </tr> <tr> <th class="label"><span ng-bind="::\'file.owner\' | i18n: \'Owner\'"></span></th> <td><span ng-bind="$mdPage.file.user.realname || $mdPage.file.user.username"></span></td> </tr> <tr> <th class="label"><span ng-bind="::\'file.size\' | i18n: \'Size\'"></span></th> <td><span ng-bind="$mdPage.file.filesize | toUnitText: \'bytes\'"></span></td> </tr> <tr> <th class="label"><span ng-bind="::\'file.updateTime\' | i18n: \'Modified\'"></span></th> <td><span ng-bind="$mdPage.file.updateTime | timestampFormat"></span></td> </tr> <tr> <th class="label"><span ng-bind="::\'file.createTime\' | i18n: \'Created\'"></span></th> <td><span ng-bind="$mdPage.file.createTime | timestampFormat"></span></td> </tr> </tbody> </table> </div> </md-content> </md-sidenav> </md-content>'},66687:e=>{e.exports='<div class="ui-modal-view ui-modal-confirm" md-theme="{{ $mdDialog.theme || $mdDialog.defaultTheme }}" aria-label="{{ $mdDialog.ariaLabel }}" ng-class="$mdDialog.css"> <div class="ui-title m-b-16" layout="row"> <i class="ui-icon m-r-8" ng-class="$mdDialog.icon"></i> <span ng-bind="::\'file.upload\' | i18n: \'Upload file\'"></span> <a class="btn-close" ui-close-button ng-click="cancel()"></a> </div> <div class="ui-body" role="document" tabIndex="-1" layout="row"> <div ui-dropzone="$mdDialog.dropzone" class="p-16 dropzone-no-preview"></div> </div> </div>'},27042:e=>{e.exports='<span class="file-name"> <i ng-class="{\'fas fa-folder\': cell.model.dirs, \'fas fa-file\': !cell.model.dirs}"></i> <a ng-href="{{(cell.schema.toLink(cell.model)) | forward}}" target="{{cell.model.dirs ? \'\': \'_blank\'}}"> <span ng-bind="cell.model.filename"></span> </a> </span>'},90664:(e,t,a)=>{"use strict";a.r(t),a.d(t,{module:()=>j,name:()=>A});var i,n=a(65269),l=a(933),s=a(84742),o=a(11142),d=a(16345),r=a(48218),c=a(85350),m=a(18017),p=a(78837),u=a(56230),f=a(38482),g=a(97571),h=a(50067),b=a(33648),v=a(95602),y=a(27042),_=a(66687),w=a(97339),$=a(28005),P=a(79999),N=a(35015),k=(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function a(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(a.prototype=t.prototype,new a)}),T=function(e){function t(a,i){var n=e.call(this,a,i)||this;return n._templateUrl=n._cogs.templateUrl||t.NgTemplateUrl,n._chroot="/admin/files",n._crumbs=new h.x,n._basePath="/admin/files/tree",n}return k(t,e),t.prototype._init_param=function(e){var t=this,a=this.getComponent(f.a.NgName),i=e.getUriParameter("root"),n="files";return i&&(this._chroot="/vault/"+i+"/d62e3f42",this._basePath=this._chroot+"/tree",n=i+".files"),a.getOrCreateSchema(n,{baseUrl:this._chroot}).then((function(a){t._schema=a,t._table=t._createTable(t.getComponent(u.q.NgName),t._schema),t._setPath(e.getParameter("path"))}))},t.prototype.quickSearch=function(e,t){return this._table.scope.qs=e,this._table.changeArgs(!0),t&&(this._cogs.qs=e),this._table.setPage(1)},t.prototype.createDirs=function(){var e=this,t=this.getComponent(b.Uo.NgName),a=t.getMe
1ssage("new folder");return this._ngApp.widget.dialog.prompt("dirs.create",a,{label:t.getMessage("field.create.dirs"),required:!0}).then((function(t){return e.httpPost((0,m.Rm)(e._chroot,"mkdir"),{directory:(0,m.Rm)(e._path,t)}).then((function(t){if(t.data)return e._table.setPage(1)}))}))},t.prototype.uploadFile=function(){var e=this,a={},i=new $.l(this.getComponent(P.G.NgName),this.getComponent(N.o.NgName),{url:(0,m.Rm)(this._chroot,"upload"),params:function(t){var i={};return 1===t.length?i.pathname=(0,m.Rm)(e._path,t[0].name):(i.pathname=[],c.Y.forEach(t,(function(t){i.pathname.push((0,m.Rm)(e._path,t.name))}))),a.force&&(i.force=!0,a.force=!1),i},fail:function(t,i,n){"exists"===i.data&&e._ngApp.widget.dialog.confirm("file.overwrite.sure").then((function(){return a.force=!0,p.UI.Promise.when(n(t)).finally((function(){return e._table.setPage(1)}))}))},baseUri:this._chroot}).on($.l.Events.success,(function(){return e._table.reload()})).on($.l.Events.failure,(function(t,n,l){if("exists"==l.data)return e._ngApp.widget.dialog.confirm("file.overwrite.sure").then((function(){return a.force=!0,i.addFile(n).start()}))}));return this._ngApp.widget.dialog.custom({templateUrl:t.NgFileDialogTemplateUrl,icon:"fas fa-upload",dropzone:i,buttons:{submit:{name:"sure",cssName:"ui-primary",icon:"fas fa-check"},cancel:{name:"cancel",icon:"fas fa-ban"}}})},t.prototype.remove=function(e){var t=this;if(!e)return this._ngApp.widget.dialog.alert("delete.file.null");var a=this.getComponent(b.Uo.NgName);return this._ngApp.widget.dialog.confirm("delete.sure",{describe:a.getMessage("delete.file.sure","",e),buttons:{submit:{cssName:"ui-primary ui-danger"}}}).then((function(){return t.httpPost((0,m.Rm)(t._chroot,"remove"),{pathname:e.pathname}).then((function(){return t._table.setPage(1)}))}))},t.prototype._createTable=function(e,a){var i=this,n={viewable:!1,creatable:!1,updatable:!1,removable:!1,data:function(e){return e.pathname=i._path,e.filename=i.cogs.qs,(0,m.Rm)(i._chroot,"show")},isAcceptField:function(e){switch(e.name){case"extsname":case"downname":case"filename":return!1}"pathname"===e.name?(e.type="file",e.templateUrl=t.NgFileCellTemplateUrl,e.toLink=function(e){return e.dirs?(0,m.Rm)(i._chroot,"tree")+e.pathname:(0,m.Rm)(i._chroot,"raw")+e.pathname}):"user"===n.name&&(e.toName=function(e){return e?e.realname||e.username:"-"})}};return a.createTable(n).on(r.Gy.Events.rows.click,(function(e,t){i._file=t})).on(r.Gy.Events.data.load,(function(e,t){!i._file&&t&&t.items&&0!=t.items.length&&(i._file=t.items[0])}))},t.prototype._setPath=function(e){var t=this;e=(e||"").replace(/[\\\/]+/,"/"),this._path=e;var a=this._path.split("/"),i=[];c.Y.forEach(a,(function(e,n){""!==e&&i.push({name:e,path:(0,m.Rm)(t._chroot,"tree",a.slice(0,n+1).join("/"))})})),this._crumbs.setCrumbs(i)},Object.defineProperty(t.prototype,"file",{get:function(){return this._file},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"table",{get:function(){return this._table},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"crumbs",{get:function(){return this._crumbs},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"basePath",{get:function(){return this._basePath},enumerable:!1,configurable:!0}),t.NgTemplateUrl=d.qr.NgTemplateBaseUrl+"/admin/files.html",t.NgTemplateHtml=v,t.NgFileCellTemplateUrl=g.s.getCellTemplateUrl("file"),t.NgFileCellTemplateHtml=y,t.NgFileDialogTemplateUrl=w.so+"/file/modal.html",t.NgFileDialogTemplateHtml=_,t}(d.qr),U=a(83827),x=a(94885),F=a(54983),D=a(3794),C=a(33597),z=w.so+"/field/file/dropzone.html",q=function(){function e(){}return e.NgTemplateUrl=z,e.NgTemplateHtml=C,e.NgName=x.e.getDirectiveName("DropzoneField"),e.NgFactory=[F.w.NgName,w.Ju,function(t,a){var i={};return i.templateUrl=z,i.link=function(i,n,l){var s,o=t.toRender(i);i.$watch(l[e.NgName],(function(e){if(s&&(s.dispose(),s=i.$mdDropZone=null),e){var t=c.Y.extend({maxFiles:1,autoUpload:!0,previewsContainer:".md-dz-preview"},e.cogs);t.uploadUrl&&(t.url=t.uploadUrl),s=new D.h(t).setSdk(a).on(D.h.Events.success,(function(t,a,i){e.value=i.path})),o(s=s.setElement(n)),i.$mdDropZone=s}})),i.$on(w.Dk,(function(){s&&(s.dispose(),s=null)}))},i}],e}(),O=a(80781);const R=JSON.parse('{"file.upload":"上传文件","file.overwrite.sure":"该文件已经存在,是否尝试覆盖?","dirs.create":"创建新目录","file.root":"根目录","dirs.current":"当前目录","file.size":"文件大小","file.owner":"上传者","file.type":"文件类型","file.updateTime":"上次更新时间","file.createTime":"文件创建时间","file.type.dirs":"文件目录","field.create.dirs":"新建目录","new folder":"新建文件夹","delete.file.sure":"删除目录:{{pathname}}","delete.file.null":"请选择要删除的文件!"}');var S=a.t(R,2),A="app.files.bundle",j=n.ng.module(A,[l.u2,s.name]);j.directive(q.NgName,q.NgFactory),j.config([l.b8.NgName,function(e){e.decoratePage(
1o.V.index,(function(e){e.factory=function(e,t){return new T(e,t)}})).decoratePage(o.V.chroot,(function(e){e.factory=function(e,t){return new T(e,Object.assign({},t,{chroot:!0}))}}))}]),j.run([w.r5,function(e){e.put(T.NgTemplateUrl,T.NgTemplateHtml),e.put(T.NgFileCellTemplateUrl,T.NgFileCellTemplateHtml),e.put(T.NgFileDialogTemplateUrl,T.NgFileDialogTemplateHtml),e.put(U.o.getFieldTypeTemplateUri("file-path"),O),e.put(q.NgTemplateUrl,q.NgTemplateHtml)}]),j.run([b.Uo.NgName,function(e){e.getLocale(b.Y$).setMessages(S)}])}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.