1 line
13 KiB
JavaScript
1 line
13 KiB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[77],{1370:function(t,e,a){"use strict";a.r(e);var i=a(3063),n=a(2029);for(var o in n)"default"!==o&&function(t){a.d(e,t,(function(){return n[t]}))}(o);var r=a(0),l=a(2785),s=a.n(l),u=Object(r.a)(n.default,i.a,i.b,!1,null,null,null);"function"==typeof s.a&&s()(u),e.default=u.exports},2029:function(t,e,a){"use strict";a.r(e);var i=a(2030),n=a.n(i);for(var o in i)"default"!==o&&function(t){a.d(e,t,(function(){return i[t]}))}(o);e.default=n.a},2030:function(t,e,a){"use strict";var i=a(10),n=a(1);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var o,r,l=n(a(15)),s=n(a(16)),u=i(a(2783)),c=n(a(2784)),d={preload:u.getFilters,api:[{command:u.getFilters,bind:"filters"}],components:{FilterInput:c.default},data:function(){return{add:{type:"email",value:""},adult:!1,action:"drop",checkedRows:[],showAddFilter:!0}},computed:{checkedFilters:function(){var t=this;return this.checkedRows.map((function(e){return t.$api.filters.rows.indexOf(e)}))}},watch:{$domain:function(){this.reloadFilters()}},created:function(){var t=this;this.adult=this.$api.filters.options.adult,this.action=this.$api.filters.options.action,this.$watch("adult",this.updateAdult),this.$watch("action",this.updateAction),this.$watch("add.type",(function(){t.add.value=""})),this.filterTypeStrings={email:{label:this.$gettext("E-mail"),tooltip:this.$gettext("Block a specific E-mail address")},domain:{label:this.$gettext("Domain"),tooltip:this.$gettext("Block mail from an entire domain")},word:{label:this.$gettext("Stop word"),tooltip:this.$gettext("Block all e-mails containing stop words")},size:{label:this.$gettext("Size"),tooltip:this.$gettext("Block all e-mails larger than (KB)")}}},methods:{reloadFilters:function(){u.getFilters(),this.checkedRows=[]},updateAdult:function(){u.setOption({option:"adult",value:this.adult})},updateAction:function(){u.setOption({option:"action",value:this.action})},addFilter:(r=(0,s.default)(l.default.mark((function t(){var e,a,i,n=this;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.showAddFilter=!1,this.$nextTick((function(){n.showAddFilter=!0})),e=this.add.value,a=this.add.type,e=e.toString(),"email"===this.add.type?e=this.$p6e.email2ascii(e):"size"===this.add.type&&(e="".concat(e,"B")),t.next=8,u.createFilter({type:this.add.type,value:e});case 8:if(!t.sent){t.next=20;break}if(this.$reset(),this.adult=this.$api.filters.options.adult,this.action=this.$api.filters.options.action,"size"!==a){t.next=18;break}if(!(i=this.$api.filters.rows.filter((function(t){return"size"===t.type}))).length){t.next=18;break}return t.next=18,u.deleteFilters({select:i.map((function(t){return n.$api.filters.rows.indexOf(t)}))});case 18:this.reloadFilters(),this.add.type=a;case 20:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)}),deleteFilters:(o=(0,s.default)(l.default.mark((function t(){return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,u.deleteFilters({select:this.checkedFilters});case 2:t.sent&&(this.checkedRows=[],this.reloadFilters());case 4:case"end":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})}};e.default=d},2031:function(t,e,a){"use strict";a.r(e);var i=a(2032),n=a.n(i);for(var o in i)"default"!==o&&function(t){a.d(e,t,(function(){return i[t]}))}(o);e.default=n.a},2032:function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i={data:function(){return{dataValue:this.value}},props:{value:{type:[String,Number],required:!0},type:{type:String,required:!0}},methods:{submit:function(){this.$emit("block")}},computed:{input:function(){return"size"===this.type?"input-size":"input-text"},validators:function(){var t={required:!0};return"email"!==this.type&&"domain"!==this.type||(t[this.type]=!0),t}},watch:{type:function(){this.dataValue="",this.$emit("input","")},dataValue:function(t){this.$emit("input",t)}}};e.default=i},2783:function(t,e,a){"use strict";var i=a(1);Object.defineProperty(e,"__esModule",{value:!0}),e.deleteFilters=e.setOption=e.createFilter=e.getFilters=void 0;var n=i(a(2)),o=i(a(30));function r(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,i)}return a}var l=o.default.get({id:"FILTERS",url:"/CMD_EMAIL_FILTER",params:{bytes:!0},domain:!0,after:function(t){return function(e){return{options:{action:(e.action||"action=drop").replace("action=",""),adult:"ON"===e.adult},rows:t.toArray(e.filters)}}}});e.getFilters=l;var s=o.default.post({url:"/CMD_EMAIL_FILTER",params:{action:"add"},domain:!0,schema:{type:o.default.REQUIRED_STRING,value:o.default.REQUIRED_STRING}});e.createFilter=s;var u=o.default.post({url:"/CMD_EMAIL_FILTER",domain:!0,params:{option:function(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?r(Object(a),!0).forEach((function(e){(0,n.default)(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}({},o.default.REQUIRED_STRING,{validator:function(t){return["adult","action"].includes(t)}}),value:{required:!0}},before:function(t){var e=t.option,a=t.value;return"adult"===e?{action:"adult",enabled:a,add:a?"Enable":"Disable"}:{action:"action",value:a}}});e.setOption=u;var c=o.default.select({url:"/CMD_EMAIL_FILTER",params:{action:"delete"},domain:!0});e.deleteFilters=c},2784:function(t,e,a){"use strict";a.r(e);var i=a(3181),n=a(2031);for(var o in n)"default"!==o&&function(t){a.d(e,t,(function(){return n[t]}))}(o);var r=a(0),l=Object(r.a)(n.default,i.a,i.b,!1,null,null,null);e.default=l.exports},2785:function(t,e){},3063:function(t,e,a){"use strict";var i=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("app-page",[a("app-page-section",[a("ui-r-table",t._b({key:t.add.type+"-type-select",attrs:{"checked-rows":t.checkedRows,editable:!1},on:{"update:checkedRows":function(e){t.checkedRows=e},"update:checked-rows":function(e){t.checkedRows=e}},scopedSlots:t._u([{key:"col:type",fn:function(e){var a=e.type;return[t._v("\n "+t._s(t.filterTypeStrings[a].label)+"\n ")]}},{key:"col:value",fn:function(e){var a=e.value,i=e.item;return["size"===i.type?[t._v("\n "+t._s(t._f("humanReadableSize")(a))+"\n ")]:"email"===i.type?[t._v("\n "+t._s(t._f("p6eUnicodeEmail")(a))+"\n ")]:[t._v("\n "+t._s(a)+"\n ")]]}}])},"ui-r-table",{rows:t.$api.filters.rows,columns:[{id:"type",label:t.$gettext("Block By"),width:"200px"},{id:"value",label:t.$gettext("Value"),grow:!0}],rowsCount:t.$api.filters.rows.length,isCheckable:!0,isSortable:!1,verticalLayout:t.$_Client.isPhone},!1),[a("template",{slot:"table:actions"},[a("ui-table-action",{on:{click:function(e){t.$dialog("DELETE_ITEMS_DIALOG").open()}}},[a("translate",[t._v("Delete")])],1)],1),t._v(" "),t._v(" "),t._v(" "),t.$_Client.isPhone?t._e():[t._v("\n x\n "),a("ui-form-element",{attrs:{slot:"col:after:type",vertical:""},slot:"col:after:type"},[a("input-select",{directives:[{name:"flex-item",rawName:"v-flex-item",value:{grow:!0},expression:"{ grow: true }"}],attrs:{slot:"content",options:{email:t.$gettext("E-mail"),domain:t.$gettext("Domain"),word:t.$gettext("Stop word"),size:t.$gettext("Size")}},slot:"content",model:{value:t.add.type,callback:function(e){t.$set(t.add,"type",e)},expression:"add.type"}}),t._v(" "),a("ui-tooltip",{directives:[{name:"flex-item",rawName:"v-flex-item",value:{grow:!1},expression:"{ grow: false }"},{name:"margin",rawName:"v-margin",value:[0,1],expression:"[0, 1]"}],attrs:{slot:"content",theme:"primary"},slot:"content"},[t._v("\n "+t._s(t.filterTypeStrings[t.add.type].tooltip)+"\n "),"word"===t.add.type?a("translate",{attrs:{tag:"p"}},[t._v('\n Note: the word filter matches partial words. For\n example, if you block the word "put" and the\n email contains "computer", then the email will\n be blocked. If you expect it to be its own word,\n then block " put ", with spaces beside it to\n avoid partial matching.\n ')]):t._e()],1)],1),t._v(" "),t.showAddFilter?a("filter-input",{attrs:{slot:"col:after:value",type:t.add.type},on:{block:t.addFilter},slot:"col:after:value",model:{value:t.add.value,callback:function(e){t.$set(t.add,"value",e)},expression:"add.value"}}):t._e()]],2),t._v(" "),t.$_Client.isPhone?[a("ui-form-element",{attrs:{vertical:""}},[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n Block By\n ")]),t._v(" "),a("input-select",{attrs:{slot:"content",options:{email:t.$gettext("E-mail"),domain:t.$gettext("Domain"),word:t.$gettext("Stop word"),size:t.$gettext("Size")}},slot:"content",model:{value:t.add.type,callback:function(e){t.$set(t.add,"type",e)},expression:"add.type"}})],1),t._v(" "),a("ui-form-element",{attrs:{vertical:""}},[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n Value\n ")]),t._v(" "),t.showAddFilter?a("filter-input",{attrs:{slot:"content",type:t.add.type},on:{block:t.addFilter},slot:"content",model:{value:t.add.value,callback:function(e){t.$set(t.add,"value",e)},expression:"add.value"}}):t._e()],1),t._v(" "),a("ui-form-element",{attrs:{vertical:""}},[a("span",{attrs:{slot:"content"},slot:"content"},[t._v("\n "+t._s(t.filterTypeStrings[t.add.type].tooltip)+"\n "),"word"===t.add.type?a("translate",{attrs:{tag:"p"}},[t._v('\n Note: the word filter matches partial words. For\n example, if you block the word "put" and the email\n contains "computer", then the email will be blocked.\n If you expect it to be its own word, then block "\n put ", with spaces beside it to avoid partial\n matching.\n ')]):t._e()],1)])]:t._e()],2),t._v(" "),a("app-page-section",[a("translate",{attrs:{slot:"section:title"},slot:"section:title"},[t._v("\n Options\n ")]),t._v(" "),a("ui-form-element",[a("div",{directives:[{name:"flex",rawName:"v-flex",value:{cross:"center"},expression:"{ cross: 'center' }"},{name:"gutter",rawName:"v-gutter",value:1,expression:"1"}],attrs:{slot:"title"},slot:"title"},[a("translate",[t._v("Adult Filter:")]),t._v(" "),a("ui-tooltip",[a("translate",[t._v("\n Blocks out common adult phrases, words, and\n addresses\n ")])],1)],1),t._v(" "),a("input-check",{attrs:{slot:"content"},slot:"content",model:{value:t.adult,callback:function(e){t.adult=e},expression:"adult"}},[t._v("\n "+t._s(t.adult?t.$gettext("Enabled"):t.$gettext("Disabled"))+"\n ")])],1),t._v(" "),a("ui-form-element",[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n Action for filter matches:\n ")]),t._v(" "),a("div",{directives:[{name:"flex",rawName:"v-flex",value:{cross:t.$_Client.isPhone?"start":"center",dir:t.$_Client.isPhone?"column":"row"},expression:"{\n cross: $_Client.isPhone ? 'start' : 'center',\n dir: $_Client.isPhone ? 'column' : 'row',\n }"},{name:"gutter",rawName:"v-gutter",value:[0,1],expression:"[0, 1]"}],attrs:{slot:"content"},slot:"content"},[a("input-check",{attrs:{type:"radio",value:"drop"},model:{value:t.action,callback:function(e){t.action=e},expression:"action"}},[a("translate",[t._v("Drop E-mail")])],1),t._v(" "),a("input-check",{attrs:{type:"radio",value:"email"},model:{value:t.action,callback:function(e){t.action=e},expression:"action"}},[a("translate",[t._v("Send to spambox")])],1)],1)],1)],1),t._v(" "),a("ui-dialog-delete-items",{attrs:{subject:t.$ngettext("filter","filters",t.checkedRows.length)},on:{"click:confirm":t.deleteFilters}})],1)},n=[];a.d(e,"a",(function(){return i})),a.d(e,"b",(function(){return n}))},3181:function(t,e,a){"use strict";var i=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ui-form-element",t._b({key:t.type,attrs:{vertical:"",group:"filterInput"}},"ui-form-element",{validators:t.validators},!1),[a("ui-input-group",{attrs:{slot:"content"},slot:"content"},[a(t.input,{key:t.type,tag:"component",attrs:{slot:"input",units:"KB"},on:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.submit(e)}},slot:"input",model:{value:t.dataValue,callback:function(e){t.dataValue=e},expression:"dataValue"}}),t._v(" "),a("ui-button",{attrs:{slot:"additions:right",theme:"safe",validateGroup:"filterInput"},on:{click:t.submit},slot:"additions:right"},[a("translate",[t._v("Block")])],1)],1),t._v(" "),a("translate",{attrs:{slot:"error:email"},slot:"error:email"},[t._v("Should be valid email")]),t._v(" "),a("translate",{attrs:{slot:"error:domain"},slot:"error:domain"},[t._v("Should be valid domain")])],1)},n=[];a.d(e,"a",(function(){return i})),a.d(e,"b",(function(){return n}))}}]); |