2 lines
18 KiB
JavaScript
2 lines
18 KiB
JavaScript
(this.webpackJsonphometask2=this.webpackJsonphometask2||[]).push([[0],{1521:function(e,t,n){},1522:function(e,t,n){"use strict";n.r(t);n(25);var a={localStorageKey:"notes-home-task-2",prePopulateAmount:7,fakerAmount:32,lists:{monthsFull:["January","February","March","April","May","June","July","August","September","October","November","December"]},alertTypes:["primary","success","warning","danger"],querySelectors:{root:["#","app"]},schemas:{note:{id:[!1,"^[0-9]{6}$"],title:[!0,128],category:[!0,"^(task|random_thought|idea|quote)$"],content:[!1,1024],archive:[!1,"^(on|true|)$"],createdAt:[!1,"^202[1-9]-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$"],updatedAt:[!1,"^202[1-9]-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$"]}}},r=n(1),o=n.n(r),c=n(23),i=n(2),l=Object(r.createContext)(),s=n(3),u="PRE_POPULATE_STORAGE",d="SET_ROUTE",h="FILTER_GRID_DATA_BY_ROUTE",m=n(0),j=function(e){var t=e.slug,n=void 0===t?"":t,a=e.label,o=void 0===a?"Untitled":a,c=Object(r.useContext)(l),i=c.nav,s=c.route,u=c.dispatchRoute,j=c.dispatchStorage,v=i.tabClassList.split(" ");s===n&&v.push(i.activeClass);return Object(m.jsx)("li",{className:v.join(" "),children:Object(m.jsx)("a",{href:"/"+n,onClick:function(e){return function(e){e.preventDefault();var t=new URL(e.target.href).pathname,n=t.slice(1);window.history.pushState("",e.target.innerText,t),u({type:d,payload:n}),j({type:h,payload:n})}(e)},children:o})})},v=function(){var e=Object(r.useContext)(l).nav;return(e.routes||[]).length<=0?Object(m.jsx)(m.Fragment,{}):Object(m.jsx)("nav",{className:"uk-container",children:Object(m.jsx)("ul",{id:e.parentID,className:e.parentClassList,children:e.routes.map((function(e,t){return Object(m.jsx)(j,Object(s.a)({},e),t)}))})})},b=function(){return Object(m.jsx)("header",{className:"uk-background-secondary",children:Object(m.jsx)(v,{})})},g=n(6),f=(n(31),{parentID:"navSwitcher",parentClassList:"uk-subnav uk-subnav-pill uk-margin-small-top uk-margin-small-bottom uk-padding-small",tabClassList:"nav-tab",activeClass:"uk-active",initialTab:"",template:"notes",routes:[{slug:"all",label:"All Notes",template:"notes",fetchLimit:0},{slug:"",label:"Active Notes",template:"notes"},{slug:"archive",label:"Archived Notes",template:"notes"},{slug:"summary",label:"Summary",template:"summary",fetchLimit:0}]}),p=function(e,t,n){try{return f.routes.filter((function(t){return t.slug===e}))[0][t]}catch(a){return n}},O=function(e){return"all"===e?null:"archive"===e},x=function(e){return p(e,"fetchLimit",window.env.prePopulateAmount)},k=function(e){return p(e,"template",f.template)},y=function(e){var t=new Date(e);return[window.env.lists.monthsFull[t.getMonth()],t.getDate(),", ".concat(t.getFullYear())].join(" ")},w=function(e){return e.split("_").map((function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})).join(" ")},N=function(e){var t,n=[],a=new RegExp("[0-3]?[0-9].[0-3]?[0-9].(?:[0-9]{2})?[0-9]{2}","mg"),r=Object(g.a)((e||"").matchAll(a));try{for(r.s();!(t=r.n()).done;){var o=t.value;n.push(o[0])}}catch(c){r.e(c)}finally{r.f()}return n},S=n(24),A=n(7),C=n(8),T=function(){function e(){Object(A.a)(this,e)}return Object(C.a)(e,null,[{key:"allAgainstSchema",value:function(e,t){var n=this,a=[];return e.forEach((function(e){var r=n.againstSchema(e,t);!0===r.status&&a.push(r.data)})),a}},{key:"againstSchema",value:function(e,t){var n={status:!1,error_text:[],data:{},errors:[]};try{for(var a=0,r=Object.entries(t);a<r.length;a++){var o=Object(i.a)(r[a],2),c=o[0],l=o[1],s=(e[c]||"").toString().trim();if(""!==s)if("number"!==typeof l[1])new RegExp(l[1].toString(),"i").exec(s)?n.data[c]=s:l[0]&&(n.errors.push(c),n.error_text.push("".concat(c," is required")));else s.length>0&&(n.data[c]=s.slice(0,l[1]));else l[0]&&(n.errors.push(c),n.error_text.push("".concat(c," is empty")))}}catch(u){n.error_text.push("Critical error! "+u.toString())}return n.status=!(n.error_text.length>0&&n.errors.length>0),n}}]),e}(),D=n(32),L=["1/1/11","1.1.11","1-1-11","01/01/11","01.01.11","01-01-11","01/01/2011","01.01.2011","01-01-2011","01/1/2011","01.1.2011","01-1-2011","1/11/2011","1.11.2011","1-11-2011","1/11/11","1.11.11","1-11-11","11/1/11","11.1.11","11-1-11"].concat(Array.from({length:42},(function(){return""}))),F=function(e){var t=[],n=window.env.schemas.note.category[1].slice(2,-2).split("|");e=e>2*window.env.fakerAmount?window.env.fakerAmount:e;for(var a=0;a<e;a++){for(var r=D.date.between("2021-07-01","2021-10-07"),o=[],c=0;c<4;c++)o.push(L[Math.random()*L.length|0]);o=o.filter((function(e){return""!==e})),t.push({id:Math.floor(1e5+9e5*Math.random()),title:D.animal.snake(),category:n[Math.random()*n.length|0],archive:["","on"][2*Math.random()|0],content:D.hacker.phrase()+(o.length>0?"<br/><strong style='color: green'>Dates:</strong> [ "+o.join(", "):"")+" ]",createdAt:D.date.between("2021-07-06","2021-10-01"),updatedAt:["",r][2*Math.random()|0]})}return t},I=function(){function e(){Object(A.a)(this,e)}return Object(C.a)(e,null,[{key:"purgeStorage",value:function(){localStorage.removeItem(window.env.localStorageKey)}},{key:"getStorage",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.env.fakerAmount,n=localStorage.getItem(window.env.localStorageKey);return null!==n&&"[]"!==n||(n=JSON.stringify(F(t)||"[]"),e&&localStorage.setItem(window.env.localStorageKey,n)),JSON.parse(n||"[]")}},{key:"saveNotesToStorage",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.env.localStorageKey;return localStorage.setItem(t,JSON.stringify(e,null,2))}},{key:"getNotes",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.env.prePopulateAmount,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window.env.fakerAmount,r=e.getStorage(!0,a);return"boolean"===typeof t&&(r=r.filter((function(e){return t?"on"===e.archive:"on"!==e.archive}))),r.sort((function(e,t){return new Date(e.createdAt)>new Date(t.createdAt)?-1:1})),n>0?r.slice(0,n):r}},{key:"getNotesSanitized",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.env.prePopulateAmount,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window.env.fakerAmount,r=e.getNotes(t,n,a);return r=T.allAgainstSchema(r,window.env.schemas.note),n>0?r.slice(0,n):r}},{key:"deleteNote",value:function(t){var n=e.getStorage().filter((function(e){return e.id!==t}));e.saveNotesToStorage(n)}},{key:"archiveNote",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"on";""!==n&&(n="on");var a=e.getNoteByID(t);return a.length>0&&a[0].archive!==n&&(a[0].archive=n,e.saveNote(a[0],"archive"),!0)}},{key:"unArchiveNote",value:function(e){this.archiveNote(e,"")}},{key:"getAnalytics",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.env.fakerAmount,n=[],a=e.getStorage(!0,t),r=Object(S.a)(new Set(a.map((function(e){return e.category}))));if("undefined"!==typeof r[0]){var o=a.map((function(e){var t={};return t[e.category]=e.archive,t}));r.forEach((function(e,t){n.push({title:e,archived:o.filter((function(t){return"on"===t[e]})).length,active:o.filter((function(t){return""==t[e]})).length})}))}return n}},{key:"getNoteByID",value:function(t){return e.getStorage().filter((function(e){return e.id===t}))}},{key:"saveNote",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(0===Object.keys(t).length)return"Passed data is empty";var n=T.againstSchema(t,window.env.schemas.note);if(!0!==n.status)return"Passed data is not valid:\r\n - "+n.error_text.join("\r\n - ");t=n.data;var a=e.getNotes(0,null),r=a.find((function(e){return e.id===+t.id}));return r?(r.title=t.title,r.content=t.content,r.category=t.category,r.archive=t.archive||"",r.updatedAt=(new Date).toISOString()):(t.id=Math.floor(1e5+9e5*Math.random()),t.archive=t.archive||"",t.createdAt=(new Date).toISOString(),a.push(t)),e.saveNotesToStorage(a),!0}}]),e}(),_=function(e){var t=e.label,n=void 0===t?"Note":t,a=e.show,r=e.setShow,o=e.dispatch,c=e.route,i=e.alert,l=e.setAlert;if(!a)return null;var s=window.env.schemas.note.category[1].slice(2,-2).split("|");return Object(m.jsx)("div",{className:"modal",children:Object(m.jsx)("form",{id:"editNoteForm",className:"uk-form-horizontal uk-margin-large modal-content",children:Object(m.jsxs)("fieldset",{className:"uk-fieldset",children:[Object(m.jsxs)("legend",{className:"uk-legend",children:[Object(m.jsxs)("span",{className:"uk-float-right uk-text-small",children:["created: ",Object(m.jsx)("input",{type:"text",name:"createdAt",readOnly:"readonly",value:"",placeholder:"0000-00-00"}),"updated: ",Object(m.jsx)("input",{type:"text",name:"updatedAt",readOnly:"readonly",value:"",placeholder:"0000-00-00"})]}),Object(m.jsxs)("span",{children:[n," #",Object(m.jsx)("input",{className:"uk-text-large",type:"text",name:"id",readOnly:"readonly",value:"",placeholder:"New"})]})]}),Object(m.jsx)("pre",{id:"modalMsgBox",className:"uk-text-bold uk-alert-danger uk-alert-danger uk-padding-top "+i.hiddenClass,children:i.value}),Object(m.jsxs)("div",{className:"uk-margin",children:[Object(m.jsxs)("label",{className:"uk-form-label uk-text-uppercase",htmlFor:"formTitle",children:["Title ",Object(m.jsx)("span",{})]}),Object(m.jsx)("div",{className:"uk-form-controls",children:Object(m.jsx)("input",{id:"formTitle",name:"title",className:"uk-input",type:"text",maxLength:window.env.schemas.note.title[1],placeholder:"Add a title...",required:!0})})]}),Object(m.jsxs)("div",{className:"uk-margin",children:[Object(m.jsx)("label",{className:"uk-form-label uk-float-right uk-text-uppercase",htmlFor:"formCategory",children:"Category"}),Object(m.jsx)("div",{className:"uk-form-controls",children:Object(m.jsxs)("select",{id:"formCategory",name:"category",className:"uk-select",defaultValue:"Select a category...",required:!0,children:[Object(m.jsx)("option",{disabled:!0,children:"Select a category..."}),Object(m.jsx)("option",{disabled:!0}),s.map((function(e,t){return Object(m.jsx)("option",{value:e,children:w(e)},t)}))]})})]}),Object(m.jsxs)("div",{className:"uk-margin",children:[Object(m.jsxs)("label",{className:"uk-form-label uk-text-uppercase",htmlFor:"noteContentInput",children:["Description ",Object(m.jsx)("span",{})]}),Object(m.jsx)("textarea",{id:"noteContentInput",name:"content",className:"uk-textarea uk-margin-top",rows:"6",maxLength:window.env.schemas.note.content[1],placeholder:"Description..."})]}),Object(m.jsxs)("div",{className:"uk-margin",children:[Object(m.jsx)("label",{className:"uk-form-label uk-float-right",htmlFor:"formArchived",children:"Archived"}),Object(m.jsx)("div",{className:"uk-form-controls",children:Object(m.jsx)("input",{id:"formArchived",name:"archive",className:"uk-checkbox",type:"checkbox"})})]}),Object(m.jsx)("hr",{}),Object(m.jsxs)("div",{className:"uk-clearfix",children:[Object(m.jsx)("div",{className:"uk-float-right",children:Object(m.jsx)("button",{type:"submit",className:"uk-button uk-button-default",onClick:function(e){e.preventDefault();var t,n=new FormData(e.target.closest("form")),a={},i=Object(g.a)(n.keys());try{for(i.s();!(t=i.n()).done;){var s=t.value;a[s]=n.get(s)}}catch(d){i.e(d)}finally{i.f()}var u=I.saveNote(a);!0===u?(o({type:h,payload:c}),r(!1)):l({hiddenClass:"",value:u})},children:"Submit"})}),Object(m.jsx)("div",{className:"uk-float-left",children:Object(m.jsx)("button",{type:"button",id:"btnDestroyModal",className:"uk-button uk-button-danger",onClick:function(){return r(!1)},children:"Close"})})]})]})})})};var M=function(){var e=Object(r.useState)([1,2,4,8,16,32,64]),t=Object(i.a)(e,1)[0],n=Object(r.useState)(16),a=Object(i.a)(n,2),o=a[0],c=a[1],s=Object(r.useState)({hiddenClass:"uk-hidden",value:""}),d=Object(i.a)(s,2),h=d[0],j=d[1],v=Object(r.useContext)(l),b=v.dispatchStorage,g=v.route,f=v.show,p=v.setShow;return Object(m.jsxs)("footer",{className:"uk-margin",children:[Object(m.jsxs)("div",{className:"uk-margin-large-top",children:[Object(m.jsx)("button",{className:"uk-button uk-button-primary uk-text-bold uk-border-rounded uk-float-right",onClick:function(){return p(!0)},children:"Create Note"}),Object(m.jsx)("label",{htmlFor:"pp",className:"uk-text-bold",children:"Use drop-list to select amount..."}),Object(m.jsx)("select",{id:"pp",className:"uk-input uk-form-width-medium uk-margin-left uk-margin-right",defaultValue:o,children:t.map((function(e,t){return Object(m.jsx)("option",{children:e},t)}))}),Object(m.jsx)("button",{className:"uk-button uk-button-danger uk-text-bold uk-border-rounded",onClick:function(e){var t=document.querySelector("footer select");b({type:u,payload:t.value,route:g}),c(t.value=16)},children:"Pre-populate"})]}),Object(m.jsx)(_,{show:f,setShow:p,dispatch:b,route:g,alert:h,setAlert:j})]})},E=(n(1521),function(e){var t=e.width,n=void 0===t?null:t;return Object(m.jsx)("col",{width:n})}),R=function(e){var t=e.title,n=void 0===t?null:t,a=e.icon,r=void 0===a?null:a;return Object(m.jsx)("th",{className:r,children:n})},P=function(e){var t=e.template;return Object(m.jsxs)(m.Fragment,{children:[Object(m.jsx)("colgroup",{children:t.cols.map((function(e,t){return Object(m.jsx)(E,Object(s.a)({},e),t)}))}),Object(m.jsx)("thead",{children:Object(m.jsx)("tr",{children:t.cols.map((function(e,t){return Object(m.jsx)(R,Object(s.a)({},e),t)}))})})]})},U=function(e){var t=Object(r.useContext)(l),n=t.route,a=t.dispatchStorage,o=t.setShow,c=function(e){var t=function(e){return e.target.closest(".category-row")}(e),r=+(t.dataset.id||-1),c=e.target.dataset.action;"editNote"===c?(o(!0),setTimeout((function(){!function(e,t){if(e instanceof Node&&1===t.length)for(var n=0,a=Object.entries(t[0]);n<a.length;n++){var r=Object(i.a)(a[n],2),o=r[0],c=r[1],l=e.querySelector("[name='".concat(o,"']"));l instanceof Element&&("checkbox"===l.type?""!==c&&l.click():l.value=c)}}(document.getElementById("editNoteForm"),I.getNoteByID(r))}),224)):"function"===typeof I[c]&&(t.classList.add(c),setTimeout((function(){I[c](r),a({type:h,payload:n}),t.classList.remove(c)}),999))};return Object(m.jsxs)("tr",{className:"category-row","data-id":e.id,children:[Object(m.jsxs)("td",{children:[y(e.createdAt),Object(m.jsx)("i",{className:"icon icon-".concat(e.category)})]}),Object(m.jsx)("td",{className:"uk-text-bold",children:e.title}),Object(m.jsx)("td",{children:w(e.category)}),Object(m.jsx)("td",{dangerouslySetInnerHTML:{__html:e.content}}),Object(m.jsx)("td",{children:N(e.content)}),Object(m.jsx)("td",{className:"icon icon-edit grid-control",onClick:c,"data-action":"editNote"}),Object(m.jsx)("td",{className:"icon icon-".concat("on"===e.archive?"un":"","archive grid-control"),onClick:c,"data-action":("on"===e.archive?"unA":"a")+"rchiveNote"}),Object(m.jsx)("td",{className:"icon icon-delete grid-control",onClick:c,"data-action":"deleteNote"})]})},q=function(e){return Object(m.jsxs)("tr",{className:"category-row",children:[Object(m.jsxs)("td",{children:[w(e.title),Object(m.jsx)("i",{className:"icon icon-".concat(e.title)})]}),Object(m.jsx)("td",{children:e.active}),Object(m.jsx)("td",{children:e.archived})]})},B=function(e){var t=e.data,n=e.route;return Object(m.jsx)("tbody",{children:"summary"!==n?t.map((function(e,t){return Object(m.jsx)(U,Object(s.a)({},e),t+"-"+e.id)})):t.map((function(e,t){return Object(m.jsx)(q,Object(s.a)({},e),t)}))})},J=function(){var e=Object(r.useContext)(l),t=e.route,n=e.grid,a=e.storage;return Object(m.jsxs)("table",{className:n.parentClassList,children:[Object(m.jsx)(P,{template:n[k(t)]}),Object(m.jsx)(B,{data:a,route:t})]})},z=function(e,t){switch(t.type){case d:return t.payload;case u:return I.purgeStorage(),"summary"===t.route?I.getAnalytics(t.payload):I.getNotesSanitized(O(t.route),x(t.route),t.payload);case h:return"summary"===t.payload?I.getAnalytics():I.getNotesSanitized(O(t.payload),x(t.payload));default:return e}},K={parentClassList:"uk-table uk-table-small uk-table-striped uk-table-hover uk-table-divider",notes:{cols:[{title:"Created",width:222},{title:"Title",width:250},{title:"Category",width:150},{title:"Content"},{title:"Dates",width:180},{width:32,icon:"icon icon-edit"},{width:32,icon:"icon icon-archive"},{width:32,icon:"icon icon-delete"}]},summary:{cols:[{title:"Note Category",width:222},{title:"Active",width:250},{title:"Archived"}]}};var $=function(){var e=window.location.pathname.slice(1).split("/")[0];!function(){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5e3;!1!==(arguments.length>0&&void 0!==arguments[0]&&arguments[0])&&(document.body.innerHTML='<div class="uk-container uk-text-center">\n <div class="uk-container">\n <ul id="asSwitcher"\n class="uk-subnav uk-subnav-divider uk-margin-large-bottom uk-flex-center">\n <li class="nav-tab"><a href="/all">All Notes</a></li>\n <li class="nav-tab initial uk-active"><a href="/">Recent Notes</a></li>\n <li class="nav-tab"><a href="/archive">Archived Notes</a></li>\n <li class="nav-tab"><a href="/analytics">Analytics</a></li>\n </ul>\n </div>\n \n <h1 class=" uk-text-danger">404 - NOT FOUND</h1>\n <div class="uk-text-large uk-text-muted uk-text-bold">U will be redirected soon</div>\n \n</div>',setTimeout((function(){window.location.assign("/")}),e))}(0===f.routes.filter((function(t){return e===t.slug})).length);var t=Object(r.useState)(!1),n=Object(i.a)(t,2),o=n[0],c=n[1],s=Object(r.useReducer)(z,function(e){return p(e,"slug",f.initialTab)}(e)),u=Object(i.a)(s,2),d=u[0],h=u[1],j=Object(r.useReducer)(z,"summary"!==d?I.getNotesSanitized(O(d),x(d)):I.getAnalytics()),v=Object(i.a)(j,2),g=v[0],k=v[1];return Object(m.jsxs)(l.Provider,{value:{env:a,nav:f,grid:K,route:d,storage:g,dispatchStorage:k,dispatchRoute:h,show:o,setShow:c},children:[Object(m.jsx)(b,{}),Object(m.jsx)(J,{}),Object(m.jsx)(M,{})]})},G=function(e){e&&e instanceof Function&&n.e(3).then(n.bind(null,1523)).then((function(t){var n=t.getCLS,a=t.getFID,r=t.getFCP,o=t.getLCP,c=t.getTTFB;n(e),a(e),r(e),o(e),c(e)}))};window.env=a;var H=document.getElementById(a.querySelectors.root[1]);Object(c.render)(Object(m.jsx)(o.a.StrictMode,{children:Object(m.jsx)($,{})}),H),G()},25:function(e,t,n){},31:function(e,t,n){}},[[1522,1,2]]]);
|
|
//# sourceMappingURL=main.d8fafd2d.chunk.js.map
|