Changeset 3215849
- Timestamp:
- 01/02/2025 07:58:59 AM (15 months ago)
- Location:
- quillforms/tags/4.2.0
- Files:
-
- 1 added
- 3 edited
-
build/client/index.asset.php (modified) (1 diff)
-
build/client/index.js (modified) (1 diff)
-
includes/class-quillforms.php (modified) (1 diff)
-
includes/rest-fields/responses-count.php (added)
Legend:
- Unmodified
- Added
- Removed
-
quillforms/tags/4.2.0/build/client/index.asset.php
r3215836 r3215849 1 <?php return array('dependencies' => array('emotion', 'lodash', 'quillforms-admin-components', 'quillforms-blocks', 'quillforms-builder-core', 'quillforms-builder-panels', 'quillforms-code-editor', 'quillforms-config', 'quillforms-form-integrations', 'quillforms-navigation', 'quillforms-payment-gateways', 'quillforms-quiz-editor', 'quillforms-rest-fields', 'quillforms-rich-text', 'quillforms-theme-editor', 'quillforms-utils', 'react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-core-data', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-media-utils', 'wp-notices', 'wp-plugins', 'wp-primitives', 'wp-url'), 'version' => ' 1ccb1946ae8c0ef829f7');1 <?php return array('dependencies' => array('emotion', 'lodash', 'quillforms-admin-components', 'quillforms-blocks', 'quillforms-builder-core', 'quillforms-builder-panels', 'quillforms-code-editor', 'quillforms-config', 'quillforms-form-integrations', 'quillforms-navigation', 'quillforms-payment-gateways', 'quillforms-quiz-editor', 'quillforms-rest-fields', 'quillforms-rich-text', 'quillforms-theme-editor', 'quillforms-utils', 'react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-core-data', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-media-utils', 'wp-notices', 'wp-plugins', 'wp-primitives', 'wp-url'), 'version' => '8f40deeece537a9d5fa4'); -
quillforms/tags/4.2.0/build/client/index.js
r3215836 r3215849 123 123 font-size: 18px; 124 124 } 125 `),title:"Create new form",onRequestClose:e,shouldCloseOnClickOutside:!1},t?React.createElement(xl,{closeModal:e}):React.createElement(React.Fragment,null,a?React.createElement(Nl,null):React.createElement("div",{class:"create-form-cards"},React.createElement("div",{className:"create-from-scratch-card",onClick:()=>{n(!0)}},React.createElement(kl,null),"Start from scratch"),React.createElement("div",{className:"choose-template-card",onClick:()=>{o(!0)}},React.createElement(Cl,null),"Choose a template"))))},_l=({viewMode:e})=>"list"===e?React.createElement("div",{className:"form-card-skeleton form-card-skeleton--list"},[1,2,3,4,5].map((e=>React.createElement("div",{key:e,className:"skeleton-row"},React.createElement("div",{className:"title-cell"},React.createElement("div",{className:"thumbnail-skeleton"}),React.createElement("div",{className:"title-skeleton"})),React.createElement("div",{className:" author-cell"},React.createElement("div",{className:"text-skeleton"})),React.createElement("div",{className:"date-cell"},React.createElement("div",{className:"text-skeleton"})),React.createElement("div",{className:"actions-cell"},React.createElement("div",{className:"actions-skeleton"})))))):React.createElement(React.Fragment,null,[1,2,3,4,5,6].map((t=>React.createElement(m.Card,{key:t,className:`form-card-skeleton form-card-skeleton--${e}`},React.createElement("div",{className:"form-card-skeleton__preview"}),React.createElement("div",{className:"form-card-skeleton__content"},React.createElement("div",{className:"form-card-skeleton__title",style:{width:"70%",height:"24px"}}),React.createElement("div",{className:"form-card-skeleton__meta",style:{width:"40%",height:"16px"}}),React.createElement("div",{className:"form-card-skeleton__actions",style:{width:"30%",height:"32px"}})))))),Ml=({viewMode:e})=>React.createElement(m.Card,{className:`form-card-skeleton form-card-skeleton--${e}`},React.createElement("div",{className:"form-card-skeleton__preview"}),React.createElement("div",{className:"form-card-skeleton__content"},React.createElement("div",{className:"form-card-skeleton__title"}),React.createElement("div",{className:"form-card-skeleton__meta"}),React.createElement("div",{className:"form-card-skeleton__actions"}))),Dl=(0,r.forwardRef)((function({icon:e,size:t=24,...n},a){return(0,r.cloneElement)(e,{width:t,height:t,...n,ref:a})})),Tl=()=>React.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},React.createElement("path",{d:"M12 13C12.5523 13 13 12.5523 13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12C11 12.5523 11.4477 13 12 13Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),React.createElement("path",{d:"M12 6C12.5523 6 13 5.55228 13 5C13 4.44772 12.5523 4 12 4C11.4477 4 11 4.44772 11 5C11 5.55228 11.4477 6 12 6Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),React.createElement("path",{d:"M12 20C12.5523 20 13 19.5523 13 19C13 18.4477 12.5523 18 12 18C11.4477 18 11 18.4477 11 19C11 19.5523 11.4477 20 12 20Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})),jl=({form:e,viewMode:t,isTrash:n,isSelected:a,onSelect:o})=>{var i,s;const[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)(!1),[h,g]=(0,r.useState)(e.title.raw),[v,y]=(0,r.useState)(!1),[b,E]=(0,r.useState)(e.slug),{createSuccessNotice:w,createErrorNotice:R}=(0,p.useDispatch)("core/notices"),{deleteEntityRecord:x,editEntityRecord:k,saveEditedEntityRecord:C}=(0,p.useDispatch)("core"),{invalidateResolution:S}=(0,p.useDispatch)("core/data"),P=null!==(i=e?.theme?.theme_data?.properties)&&void 0!==i?i:{},O=new Date(e.modified).toLocaleDateString(),N=null!==(s=e?.responses_count)&&void 0!==s?s:0,A=async(t=!1)=>{if(confirm(`Are you sure you want to ${t?"permanently delete":"move to trash"} this form?`)){u(!0);try{await x("postType","quill_forms",e.id,t?{force:!0}:{})?w(`✅ Form ${t?"permanently deleted":"moved to trash"} successfully!`,{type:"snackbar",isDismissible:!0}):R("⛔ Error in form deletion!",{type:"snackbar",isDismissible:!0})}catch(e){R("Error deleting form!",{type:"snackbar"})}u(!1)}};if(l)return React.createElement(Ml,{viewMode:t});const _=()=>n?React.createElement(m.Dropdown,{className:"form-card__dropdown",position:"bottom left",renderToggle:({isOpen:e,onToggle:t})=>React.createElement(wt.Button,{className:"form-card__dropdown-toggle",onClick:t,"aria-expanded":e},React.createElement(Tl,null)),renderContent:({onClose:t})=>React.createElement(m.MenuGroup,null,React.createElement(m.MenuItem,{onClick:()=>{(async()=>{u(!0);try{k("postType","quill_forms",e.id,{status:"draft"}),await C("postType","quill_forms",e.id)?w("✅ Form restored successfully!",{type:"snackbar",isDismissible:!0}):R("⛔ Error restoring form!",{type:"snackbar",isDismissible:!0})}catch(e){R("Error restoring form!",{type:"snackbar"})}u(!1)})(),t()}},"Restore"),React.createElement(m.MenuItem,{onClick:()=>{A(!0),t()},isDestructive:!0},"Delete Permanently"))}):React.createElement(m.Dropdown,{className:"form-card__dropdown",position:"bottom left",renderToggle:({isOpen:e,onToggle:t})=>React.createElement(wt.Button,{className:"form-card__dropdown-toggle",onClick:t,"aria-expanded":e},React.createElement(Tl,null)),renderContent:({onClose:t})=>React.createElement(React.Fragment,null,React.createElement(m.MenuGroup,null,React.createElement(m.MenuItem,{onClick:()=>{(0,c.getHistory)().push((0,c.getNewPath)({},`/forms/${e.id}/builder`)),t()}},"Edit"),React.createElement(m.MenuItem,{onClick:()=>{(0,c.getHistory)().push((0,c.getNewPath)({},`/forms/${e.id}/results`)),t()}},"Results"),React.createElement(m.MenuItem,{onClick:()=>{(0,c.getHistory)().push((0,c.getNewPath)({},`/forms/${e.id}/integrations`)),t()}},"Integrations"),React.createElement(m.MenuItem,{onClick:()=>{(0,c.getHistory)().push((0,c.getNewPath)({},`/forms/${e.id}/share`)),t()}},"Share")),React.createElement(m.MenuGroup,null,React.createElement(m.MenuItem,{onClick:async()=>{u(!0),await(async()=>{const t=new FormData;t.append("action","quillforms_duplicate_form"),t.append("form_id",e.id),t.append("_nonce",window.qfAdmin.duplicate_nonce);try{const e=await fetch(`${window.qfAdmin.adminUrl}admin-ajax.php`,{method:"POST",credentials:"same-origin",body:t});(await e.json()).success?(S("core","getEntityRecords",["postType","quill_forms",{status:"publish,draft",per_page:-1}]),w("✅ Form duplicated successfully!",{type:"snackbar",isDismissible:!0})):R("⛔ Can't duplicate form",{type:"snackbar",isDismissible:!0})}catch(e){R(`⛔ ${null!=e?e:"Error"}`,{type:"snackbar",isDismissible:!0})}})(),u(!1),t()}},"Duplicate"),React.createElement(m.MenuItem,{onClick:()=>{f(!0),t()}},"Rename"),React.createElement(m.MenuItem,{onClick:()=>{y(!0),t()}},"Change slug"),React.createElement(m.MenuItem,{onClick:async()=>{u(!0);const n="publish"===e.status?"draft":"publish";k("postType","quill_forms",e.id,{status:n}),await C("postType","quill_forms",e.id)?w(`✅ Form status changed to ${n} successfully!`,{type:"snackbar",isDismissible:!0}):R("⛔ Error!",{type:"snackbar",isDismissible:!0}),u(!1),t()}},"publish"===e.status?"Move to draft":"Publish")),React.createElement(m.MenuGroup,null,React.createElement(m.MenuItem,{isDestructive:!0,onClick:()=>{A(!1),t()}},"Move to Trash")))});return"list"===t?React.createElement(React.Fragment,null,React.createElement("div",{className:"form-card form-card--list"},React.createElement("div",{className:"title-column"},React.createElement("div",{className:"form-card__preview",style:{backgroundColor:P.backgroundColor,backgroundImage:P.backgroundImage?`url(${P.backgroundImage})`:"none"}}),React.createElement("div",{className:"form-card__title-wrapper"},React.createElement("div",{className:Et()("form-card__title",yt.css`125 `),title:"Create new form",onRequestClose:e,shouldCloseOnClickOutside:!1},t?React.createElement(xl,{closeModal:e}):React.createElement(React.Fragment,null,a?React.createElement(Nl,null):React.createElement("div",{class:"create-form-cards"},React.createElement("div",{className:"create-from-scratch-card",onClick:()=>{n(!0)}},React.createElement(kl,null),"Start from scratch"),React.createElement("div",{className:"choose-template-card",onClick:()=>{o(!0)}},React.createElement(Cl,null),"Choose a template"))))},_l=({viewMode:e})=>"list"===e?React.createElement("div",{className:"form-card-skeleton form-card-skeleton--list"},[1,2,3,4,5].map((e=>React.createElement("div",{key:e,className:"skeleton-row"},React.createElement("div",{className:"title-cell"},React.createElement("div",{className:"thumbnail-skeleton"}),React.createElement("div",{className:"title-skeleton"})),React.createElement("div",{className:"responses-cell"},React.createElement("div",{className:"text-skeleton"})),React.createElement("div",{className:"date-cell"},React.createElement("div",{className:"text-skeleton"})),React.createElement("div",{className:"actions-cell"},React.createElement("div",{className:"actions-skeleton"})))))):React.createElement(React.Fragment,null,[1,2,3,4,5,6].map((t=>React.createElement(m.Card,{key:t,className:`form-card-skeleton form-card-skeleton--${e}`},React.createElement("div",{className:"form-card-skeleton__preview"}),React.createElement("div",{className:"form-card-skeleton__content"},React.createElement("div",{className:"form-card-skeleton__title",style:{width:"70%",height:"24px"}}),React.createElement("div",{className:"form-card-skeleton__meta",style:{width:"40%",height:"16px"}}),React.createElement("div",{className:"form-card-skeleton__actions",style:{width:"30%",height:"32px"}})))))),Ml=({viewMode:e})=>React.createElement(m.Card,{className:`form-card-skeleton form-card-skeleton--${e}`},React.createElement("div",{className:"form-card-skeleton__preview"}),React.createElement("div",{className:"form-card-skeleton__content"},React.createElement("div",{className:"form-card-skeleton__title"}),React.createElement("div",{className:"form-card-skeleton__meta"}),React.createElement("div",{className:"form-card-skeleton__actions"}))),Dl=(0,r.forwardRef)((function({icon:e,size:t=24,...n},a){return(0,r.cloneElement)(e,{width:t,height:t,...n,ref:a})})),Tl=()=>React.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},React.createElement("path",{d:"M12 13C12.5523 13 13 12.5523 13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12C11 12.5523 11.4477 13 12 13Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),React.createElement("path",{d:"M12 6C12.5523 6 13 5.55228 13 5C13 4.44772 12.5523 4 12 4C11.4477 4 11 4.44772 11 5C11 5.55228 11.4477 6 12 6Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),React.createElement("path",{d:"M12 20C12.5523 20 13 19.5523 13 19C13 18.4477 12.5523 18 12 18C11.4477 18 11 18.4477 11 19C11 19.5523 11.4477 20 12 20Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})),jl=({form:e,viewMode:t,isTrash:n,isSelected:a,onSelect:o})=>{var i,s;const[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)(!1),[h,g]=(0,r.useState)(e.title.raw),[v,y]=(0,r.useState)(!1),[b,E]=(0,r.useState)(e.slug),{createSuccessNotice:w,createErrorNotice:R}=(0,p.useDispatch)("core/notices"),{deleteEntityRecord:x,editEntityRecord:k,saveEditedEntityRecord:C}=(0,p.useDispatch)("core"),{invalidateResolution:S}=(0,p.useDispatch)("core/data"),P=null!==(i=e?.theme?.theme_data?.properties)&&void 0!==i?i:{},O=new Date(e.modified).toLocaleDateString(),N=null!==(s=e?.responses_count)&&void 0!==s?s:0,A=async(t=!1)=>{if(confirm(`Are you sure you want to ${t?"permanently delete":"move to trash"} this form?`)){u(!0);try{await x("postType","quill_forms",e.id,t?{force:!0}:{})?w(`✅ Form ${t?"permanently deleted":"moved to trash"} successfully!`,{type:"snackbar",isDismissible:!0}):R("⛔ Error in form deletion!",{type:"snackbar",isDismissible:!0})}catch(e){R("Error deleting form!",{type:"snackbar"})}u(!1)}};if(l)return React.createElement(Ml,{viewMode:t});const _=()=>n?React.createElement(m.Dropdown,{className:"form-card__dropdown",position:"bottom left",renderToggle:({isOpen:e,onToggle:t})=>React.createElement(wt.Button,{className:"form-card__dropdown-toggle",onClick:t,"aria-expanded":e},React.createElement(Tl,null)),renderContent:({onClose:t})=>React.createElement(m.MenuGroup,null,React.createElement(m.MenuItem,{onClick:()=>{(async()=>{u(!0);try{k("postType","quill_forms",e.id,{status:"draft"}),await C("postType","quill_forms",e.id)?w("✅ Form restored successfully!",{type:"snackbar",isDismissible:!0}):R("⛔ Error restoring form!",{type:"snackbar",isDismissible:!0})}catch(e){R("Error restoring form!",{type:"snackbar"})}u(!1)})(),t()}},"Restore"),React.createElement(m.MenuItem,{onClick:()=>{A(!0),t()},isDestructive:!0},"Delete Permanently"))}):React.createElement(m.Dropdown,{className:"form-card__dropdown",position:"bottom left",renderToggle:({isOpen:e,onToggle:t})=>React.createElement(wt.Button,{className:"form-card__dropdown-toggle",onClick:t,"aria-expanded":e},React.createElement(Tl,null)),renderContent:({onClose:t})=>React.createElement(React.Fragment,null,React.createElement(m.MenuGroup,null,React.createElement(m.MenuItem,{onClick:()=>{(0,c.getHistory)().push((0,c.getNewPath)({},`/forms/${e.id}/builder`)),t()}},"Edit"),React.createElement(m.MenuItem,{onClick:()=>{(0,c.getHistory)().push((0,c.getNewPath)({},`/forms/${e.id}/results`)),t()}},"Results"),React.createElement(m.MenuItem,{onClick:()=>{(0,c.getHistory)().push((0,c.getNewPath)({},`/forms/${e.id}/integrations`)),t()}},"Integrations"),React.createElement(m.MenuItem,{onClick:()=>{(0,c.getHistory)().push((0,c.getNewPath)({},`/forms/${e.id}/share`)),t()}},"Share")),React.createElement(m.MenuGroup,null,React.createElement(m.MenuItem,{onClick:async()=>{u(!0),await(async()=>{const t=new FormData;t.append("action","quillforms_duplicate_form"),t.append("form_id",e.id),t.append("_nonce",window.qfAdmin.duplicate_nonce);try{const e=await fetch(`${window.qfAdmin.adminUrl}admin-ajax.php`,{method:"POST",credentials:"same-origin",body:t});(await e.json()).success?(S("core","getEntityRecords",["postType","quill_forms",{status:"publish,draft",per_page:-1}]),w("✅ Form duplicated successfully!",{type:"snackbar",isDismissible:!0})):R("⛔ Can't duplicate form",{type:"snackbar",isDismissible:!0})}catch(e){R(`⛔ ${null!=e?e:"Error"}`,{type:"snackbar",isDismissible:!0})}})(),u(!1),t()}},"Duplicate"),React.createElement(m.MenuItem,{onClick:()=>{f(!0),t()}},"Rename"),React.createElement(m.MenuItem,{onClick:()=>{y(!0),t()}},"Change slug"),React.createElement(m.MenuItem,{onClick:async()=>{u(!0);const n="publish"===e.status?"draft":"publish";k("postType","quill_forms",e.id,{status:n}),await C("postType","quill_forms",e.id)?w(`✅ Form status changed to ${n} successfully!`,{type:"snackbar",isDismissible:!0}):R("⛔ Error!",{type:"snackbar",isDismissible:!0}),u(!1),t()}},"publish"===e.status?"Move to draft":"Publish")),React.createElement(m.MenuGroup,null,React.createElement(m.MenuItem,{isDestructive:!0,onClick:()=>{A(!1),t()}},"Move to Trash")))});return"list"===t?React.createElement(React.Fragment,null,React.createElement("div",{className:"form-card form-card--list"},React.createElement("div",{className:"title-column"},React.createElement("div",{className:"form-card__preview",style:{backgroundColor:P.backgroundColor,backgroundImage:P.backgroundImage?`url(${P.backgroundImage})`:"none"}}),React.createElement("div",{className:"form-card__title-wrapper"},React.createElement("div",{className:Et()("form-card__title",yt.css` 126 126 color: ${P.fontColor}; 127 127 cursor: pointer; 128 `),onClick:()=>{(0,c.getHistory)().push((0,c.getNewPath)({},`/forms/${e.id}/builder`))}},e.title.rendered||"Untitled Form"),React.createElement("span",{className:`status-indicator status-${e.status}`},"publish"===e.status?"Published":e.status))),React.createElement("div",{className:" author-column"},e.author_name),React.createElement("div",{className:"date-column"},O),React.createElement("div",{className:"actions-column"},_())),d&&React.createElement(m.Modal,{title:"Rename Form",onRequestClose:()=>f(!1)},React.createElement(m.TextControl,{type:"text",className:"quillforms-home-form-actions__rename-input",value:h,onChange:t=>{t?(g(t),k("postType","quill_forms",e.id,{title:t})):R("⛔ Form title cannot be empty!",{type:"snackbar",isDismissible:!0})}}),React.createElement(wt.Button,{isPrimary:!0,className:"quillforms-home-form-actions__rename-button",onClick:async()=>{u(!0),await C("postType","quill_forms",e.id)?w("✅ Form renamed successfully!",{type:"snackbar",isDismissible:!0}):R("⛔ Error in form renaming!",{type:"snackbar",isDismissible:!0}),u(!1),f(!1)}},"Rename")),v&&React.createElement(m.Modal,{title:"Change Form Slug",onRequestClose:()=>y(!1)},React.createElement(m.TextControl,{type:"text",className:"quillforms-home-form-actions__rename-input",value:b,onChange:t=>{t?(E(t),k("postType","quill_forms",e.id,{slug:t})):R("⛔ Form slug cannot be empty!",{type:"snackbar",isDismissible:!0})}}),React.createElement(wt.Button,{isPrimary:!0,className:"quillforms-home-form-actions__rename-button",onClick:async()=>{u(!0),await C("postType","quill_forms",e.id)?w("✅ Form slug changed successfully!",{type:"snackbar",isDismissible:!0}):R("⛔ Error in form slug changing!",{type:"snackbar",isDismissible:!0}),u(!1),y(!1)}},"Change"))):React.createElement(React.Fragment,null,React.createElement(m.Card,{className:Et()("form-card",`form-card--${t}`,`form-card--${e.status}`)},React.createElement("div",{className:"form-card__preview",style:{backgroundColor:P.backgroundColor,backgroundImage:P.backgroundImage?`url(${P.backgroundImage})`:"none",cursor:"pointer"},onClick:()=>{(0,c.getHistory)().push((0,c.getNewPath)({},`/forms/${e.id}/builder`))}},React.createElement("div",{className:Et()("form-card__title",yt.css`128 `),onClick:()=>{(0,c.getHistory)().push((0,c.getNewPath)({},`/forms/${e.id}/builder`))}},e.title.rendered||"Untitled Form"),React.createElement("span",{className:`status-indicator status-${e.status}`},"publish"===e.status?"Published":e.status))),React.createElement("div",{className:"responses-count-column"},e.responses_count," responses"),React.createElement("div",{className:"date-column"},O),React.createElement("div",{className:"actions-column"},_())),d&&React.createElement(m.Modal,{title:"Rename Form",onRequestClose:()=>f(!1)},React.createElement(m.TextControl,{type:"text",className:"quillforms-home-form-actions__rename-input",value:h,onChange:t=>{t?(g(t),k("postType","quill_forms",e.id,{title:t})):R("⛔ Form title cannot be empty!",{type:"snackbar",isDismissible:!0})}}),React.createElement(wt.Button,{isPrimary:!0,className:"quillforms-home-form-actions__rename-button",onClick:async()=>{u(!0),await C("postType","quill_forms",e.id)?w("✅ Form renamed successfully!",{type:"snackbar",isDismissible:!0}):R("⛔ Error in form renaming!",{type:"snackbar",isDismissible:!0}),u(!1),f(!1)}},"Rename")),v&&React.createElement(m.Modal,{title:"Change Form Slug",onRequestClose:()=>y(!1)},React.createElement(m.TextControl,{type:"text",className:"quillforms-home-form-actions__rename-input",value:b,onChange:t=>{t?(E(t),k("postType","quill_forms",e.id,{slug:t})):R("⛔ Form slug cannot be empty!",{type:"snackbar",isDismissible:!0})}}),React.createElement(wt.Button,{isPrimary:!0,className:"quillforms-home-form-actions__rename-button",onClick:async()=>{u(!0),await C("postType","quill_forms",e.id)?w("✅ Form slug changed successfully!",{type:"snackbar",isDismissible:!0}):R("⛔ Error in form slug changing!",{type:"snackbar",isDismissible:!0}),u(!1),y(!1)}},"Change"))):React.createElement(React.Fragment,null,React.createElement(m.Card,{className:Et()("form-card",`form-card--${t}`,`form-card--${e.status}`)},React.createElement("div",{className:"form-card__preview",style:{backgroundColor:P.backgroundColor,backgroundImage:P.backgroundImage?`url(${P.backgroundImage})`:"none",cursor:"pointer"},onClick:()=>{(0,c.getHistory)().push((0,c.getNewPath)({},`/forms/${e.id}/builder`))}},React.createElement("div",{className:Et()("form-card__title",yt.css` 129 129 color: ${P.fontColor}; 130 `)},e.title.rendered||"Untitled Form")),React.createElement("div",{className:"form-card__footer"},React.createElement("div",{className:"form-card__meta"},React.createElement("span",{className:`status-indicator status-${e.status}`},"publish"===e.status?"Published":e.status),React.createElement("span",null,N," responses"),React.createElement("div",{className:"form-card__actions"},_())))),d&&React.createElement(m.Modal,{title:"Rename Form",onRequestClose:()=>f(!1)},React.createElement(m.TextControl,{type:"text",className:"quillforms-home-form-actions__rename-input",value:h,onChange:t=>{t?(g(t),k("postType","quill_forms",e.id,{title:t})):R("⛔ Form title cannot be empty!",{type:"snackbar",isDismissible:!0})}}),React.createElement(wt.Button,{isPrimary:!0,className:"quillforms-home-form-actions__rename-button",onClick:async()=>{u(!0),await C("postType","quill_forms",e.id)?w("✅ Form renamed successfully!",{type:"snackbar",isDismissible:!0}):R("⛔ Error in form renaming!",{type:"snackbar",isDismissible:!0}),u(!1),f(!1)}},"Rename")),v&&React.createElement(m.Modal,{title:"Change Form Slug",onRequestClose:()=>y(!1)},React.createElement(m.TextControl,{type:"text",className:"quillforms-home-form-actions__rename-input",value:b,onChange:t=>{t?(E(t),k("postType","quill_forms",e.id,{slug:t})):R("⛔ Form slug cannot be empty!",{type:"snackbar",isDismissible:!0})}}),React.createElement(wt.Button,{isPrimary:!0,className:"quillforms-home-form-actions__rename-button",onClick:async()=>{u(!0),await C("postType","quill_forms",e.id)?w("✅ Form slug changed successfully!",{type:"snackbar",isDismissible:!0}):R("⛔ Error in form slug changing!",{type:"snackbar",isDismissible:!0}),u(!1),y(!1)}},"Change")))},Ll=({status:e,onCreateNew:t})=>{const n={all:{title:"Create your first form",description:"Get started by creating a new form from scratch or using a template.",action:"Create Form"},trash:{title:"Trash is empty",description:"No forms in trash.",action:null},draft:{title:"No draft forms",description:"Draft forms will appear here.",action:"Create Form"},publish:{title:"No published forms",description:"Published forms will appear here.",action:"Create Form"}}[e];return React.createElement("div",{className:"forms-empty-state"},React.createElement(Dl,{icon:"trash"===e?bl:El}),React.createElement("h2",null,n.title),React.createElement("p",null,n.description),n.action&&React.createElement(wt.Button,{isPrimary:!0,onClick:t},n.action))},ql=()=>React.createElement("div",{className:"list-header"},React.createElement("div",{className:"header-cell"},"Title"),React.createElement("div",{className:"header-cell"}," Author"),React.createElement("div",{className:"header-cell"},"Last Modified"),React.createElement("div",{className:"header-cell"})),Il=()=>{const[e,t]=(0,r.useState)(!1),[n,a]=(0,r.useState)(!0),[o,i]=(0,r.useState)("list"),[s,l]=(0,r.useState)(""),[c,u]=(0,r.useState)("all"),[d,f]=(0,r.useState)("date"),[h,g]=(0,r.useState)([]),[y,b]=(0,r.useState)(!1),E=e=>{b(e),g(e?M.map((e=>e.id)):[])},w=(e,t)=>{g((n=>t?[...n,e]:n.filter((t=>t!==e)))),b(!1)},R=()=>0===h.length?null:"trash"===c?React.createElement("div",{className:"bulk-actions"},React.createElement(m.Button,{isSecondary:!0,onClick:()=>N()},"Restore Selected (",h.length,")"),React.createElement(m.Button,{isDanger:!0,onClick:()=>O(!0)},"Delete Permanently (",h.length,")")):React.createElement("div",{className:"bulk-actions"},React.createElement(m.Dropdown,{className:"bulk-actions-dropdown",position:"bottom left",renderToggle:({isOpen:e,onToggle:t})=>React.createElement(m.Button,{onClick:t,"aria-expanded":e},"Bulk Actions (",h.length,")"),renderContent:()=>React.createElement(m.MenuGroup,null,React.createElement(m.MenuItem,{onClick:()=>P("publish")},"Publish Selected"),React.createElement(m.MenuItem,{onClick:()=>P("draft")},"Move to Draft"),React.createElement(m.MenuItem,{onClick:()=>O(!1),isDestructive:!0},"Move to Trash"))})),{updateEntityRecord:x,deleteEntityRecord:k}=(0,p.useDispatch)("core"),{createSuccessNotice:C,createErrorNotice:S}=(0,p.useDispatch)("core/notices"),P=async e=>{const t=h.map((t=>x("postType","quill_forms",t,{status:e})));try{await Promise.all(t),C(`${h.length} forms ${"publish"===e?"published":"moved to draft"}!`,{type:"snackbar"}),g([]),b(!1)}catch(e){S("Error updating forms!",{type:"snackbar"})}},O=async(e=!1)=>{if(!confirm(`Are you sure you want to ${e?"permanently delete":"move to trash"} ${h.length} forms?`))return;const t=h.map((t=>k("postType","quill_forms",t,e?{force:!0}:{})));try{await Promise.all(t),C(`${h.length} forms ${e?"permanently deleted":"moved to trash"}!`,{type:"snackbar"}),g([]),b(!1)}catch(e){S("Error deleting forms!",{type:"snackbar"})}},N=async()=>{const e=h.map((e=>x("postType","quill_forms",e,{status:"draft"})));try{await Promise.all(e),C(`${h.length} forms restored!`,{type:"snackbar"}),g([]),b(!1)}catch(e){S("Error restoring forms!",{type:"snackbar"})}},{invalidateResolution:A}=(0,p.useDispatch)("core/data");(0,r.useEffect)((()=>()=>{A("core","getEntityRecords",_)}),[]);const _=["postType","quill_forms",{status:"all"===c?"publish,draft":c,per_page:-1,search:s,orderby:d,order:"title"===d?"asc":"desc"}],{forms:M,hasFormsFinishedResolution:D}=(0,p.useSelect)((e=>({forms:e("core").getEntityRecords(..._),hasFormsFinishedResolution:e("core").hasFinishedResolution("getEntityRecords",_)})),[c,s,d]),T=(0,p.useSelect)((e=>{const t=e("core").getEntityRecords("postType","quill_forms",{per_page:-1,status:"publish,draft,trash"});return t?{all:t.filter((e=>"trash"!==e.status)).length,published:t.filter((e=>"publish"===e.status)).length,draft:t.filter((e=>"draft"===e.status)).length,trash:t.filter((e=>"trash"===e.status)).length}:{all:0,published:0,draft:0,trash:0}}),[]),j=[{name:"all",title:`All (${T.all})`,className:"tab-all"},{name:"publish",title:`Published (${T.published})`,className:"tab-published"},{name:"draft",title:`Drafts (${T.draft})`,className:"tab-drafts"},{name:"trash",title:`Trash (${T.trash})`,className:"tab-trash"}];return React.createElement("div",{className:"quillforms-home"},React.createElement("div",{className:"quillforms-home__header"},React.createElement("div",{className:"quillforms-home__header-left"},React.createElement("h1",null,"Forms"),h.length>0?React.createElement(R,null):React.createElement(m.Button,{isPrimary:!0,className:"add-new-form-button",onClick:()=>t(!0)},React.createElement("plus-icon",null)," New Form")),React.createElement("div",{className:"quillforms-home__header-right"},React.createElement(m.SearchControl,{value:s,onChange:l,placeholder:"Search forms..."}),React.createElement(m.Dropdown,{className:"sort-dropdown",position:"bottom left",renderToggle:({isOpen:e,onToggle:t})=>React.createElement(m.Button,{onClick:t,"aria-expanded":e},"Sort by: ",d),renderContent:()=>React.createElement(m.MenuGroup,null,React.createElement(m.MenuItem,{onClick:()=>f("date")},"Date"),React.createElement(m.MenuItem,{onClick:()=>f("title")},"Title"))}),React.createElement("div",{className:"view-mode-toggle"},React.createElement(m.Button,{isPressed:"grid"===o,onClick:()=>i("grid"),icon:wl}),React.createElement(m.Button,{isPressed:"list"===o,onClick:()=>i("list"),icon:Rl})))),React.createElement(m.TabPanel,{className:"quillforms-home__tabs",tabs:j,onSelect:u},(e=>React.createElement("div",{className:`quillforms-home__forms-grid view-${o}`},"list"===o&&React.createElement(ql,{selectAll:y,handleSelectAll:E}),!D&&n?React.createElement(_l,{viewMode:o}):M&&0!==(0,v.size)(M)?M.map((e=>React.createElement(jl,{key:e.id,form:e,viewMode:o,isTrash:"trash"===c,isSelected:h.includes(e.id),onSelect:w}))):React.createElement(Ll,{status:c,onCreateNew:()=>t(!0)})))),e&&React.createElement(Al,{closeModal:()=>t(!1)}))},Bl=window.qf.builderCore,Fl=window.qf.restFields,zl=()=>React.createElement("div",{className:"qf-builder-placeholder-button"}),Hl=({onCancel:e,onConfirm:t})=>React.createElement(m.Modal,{className:yt.css`130 `)},e.title.rendered||"Untitled Form")),React.createElement("div",{className:"form-card__footer"},React.createElement("div",{className:"form-card__meta"},React.createElement("span",{className:`status-indicator status-${e.status}`},"publish"===e.status?"Published":e.status),React.createElement("span",null,N," responses"),React.createElement("div",{className:"form-card__actions"},_())))),d&&React.createElement(m.Modal,{title:"Rename Form",onRequestClose:()=>f(!1)},React.createElement(m.TextControl,{type:"text",className:"quillforms-home-form-actions__rename-input",value:h,onChange:t=>{t?(g(t),k("postType","quill_forms",e.id,{title:t})):R("⛔ Form title cannot be empty!",{type:"snackbar",isDismissible:!0})}}),React.createElement(wt.Button,{isPrimary:!0,className:"quillforms-home-form-actions__rename-button",onClick:async()=>{u(!0),await C("postType","quill_forms",e.id)?w("✅ Form renamed successfully!",{type:"snackbar",isDismissible:!0}):R("⛔ Error in form renaming!",{type:"snackbar",isDismissible:!0}),u(!1),f(!1)}},"Rename")),v&&React.createElement(m.Modal,{title:"Change Form Slug",onRequestClose:()=>y(!1)},React.createElement(m.TextControl,{type:"text",className:"quillforms-home-form-actions__rename-input",value:b,onChange:t=>{t?(E(t),k("postType","quill_forms",e.id,{slug:t})):R("⛔ Form slug cannot be empty!",{type:"snackbar",isDismissible:!0})}}),React.createElement(wt.Button,{isPrimary:!0,className:"quillforms-home-form-actions__rename-button",onClick:async()=>{u(!0),await C("postType","quill_forms",e.id)?w("✅ Form slug changed successfully!",{type:"snackbar",isDismissible:!0}):R("⛔ Error in form slug changing!",{type:"snackbar",isDismissible:!0}),u(!1),y(!1)}},"Change")))},Ll=({status:e,onCreateNew:t})=>{const n={all:{title:"Create your first form",description:"Get started by creating a new form from scratch or using a template.",action:"Create Form"},trash:{title:"Trash is empty",description:"No forms in trash.",action:null},draft:{title:"No draft forms",description:"Draft forms will appear here.",action:"Create Form"},publish:{title:"No published forms",description:"Published forms will appear here.",action:"Create Form"}}[e];return React.createElement("div",{className:"forms-empty-state"},React.createElement(Dl,{icon:"trash"===e?bl:El}),React.createElement("h2",null,n.title),React.createElement("p",null,n.description),n.action&&React.createElement(wt.Button,{isPrimary:!0,onClick:t},n.action))},ql=()=>React.createElement("div",{className:"list-header"},React.createElement("div",{className:"header-cell"},"Title"),React.createElement("div",{className:"header-cell"},"Responses Count"),React.createElement("div",{className:"header-cell"},"Last Modified"),React.createElement("div",{className:"header-cell"})),Il=()=>{const[e,t]=(0,r.useState)(!1),[n,a]=(0,r.useState)(!0),[o,i]=(0,r.useState)("list"),[s,l]=(0,r.useState)(""),[c,u]=(0,r.useState)("all"),[d,f]=(0,r.useState)("date"),[h,g]=(0,r.useState)([]),[y,b]=(0,r.useState)(!1),E=e=>{b(e),g(e?M.map((e=>e.id)):[])},w=(e,t)=>{g((n=>t?[...n,e]:n.filter((t=>t!==e)))),b(!1)},R=()=>0===h.length?null:"trash"===c?React.createElement("div",{className:"bulk-actions"},React.createElement(m.Button,{isSecondary:!0,onClick:()=>N()},"Restore Selected (",h.length,")"),React.createElement(m.Button,{isDanger:!0,onClick:()=>O(!0)},"Delete Permanently (",h.length,")")):React.createElement("div",{className:"bulk-actions"},React.createElement(m.Dropdown,{className:"bulk-actions-dropdown",position:"bottom left",renderToggle:({isOpen:e,onToggle:t})=>React.createElement(m.Button,{onClick:t,"aria-expanded":e},"Bulk Actions (",h.length,")"),renderContent:()=>React.createElement(m.MenuGroup,null,React.createElement(m.MenuItem,{onClick:()=>P("publish")},"Publish Selected"),React.createElement(m.MenuItem,{onClick:()=>P("draft")},"Move to Draft"),React.createElement(m.MenuItem,{onClick:()=>O(!1),isDestructive:!0},"Move to Trash"))})),{updateEntityRecord:x,deleteEntityRecord:k}=(0,p.useDispatch)("core"),{createSuccessNotice:C,createErrorNotice:S}=(0,p.useDispatch)("core/notices"),P=async e=>{const t=h.map((t=>x("postType","quill_forms",t,{status:e})));try{await Promise.all(t),C(`${h.length} forms ${"publish"===e?"published":"moved to draft"}!`,{type:"snackbar"}),g([]),b(!1)}catch(e){S("Error updating forms!",{type:"snackbar"})}},O=async(e=!1)=>{if(!confirm(`Are you sure you want to ${e?"permanently delete":"move to trash"} ${h.length} forms?`))return;const t=h.map((t=>k("postType","quill_forms",t,e?{force:!0}:{})));try{await Promise.all(t),C(`${h.length} forms ${e?"permanently deleted":"moved to trash"}!`,{type:"snackbar"}),g([]),b(!1)}catch(e){S("Error deleting forms!",{type:"snackbar"})}},N=async()=>{const e=h.map((e=>x("postType","quill_forms",e,{status:"draft"})));try{await Promise.all(e),C(`${h.length} forms restored!`,{type:"snackbar"}),g([]),b(!1)}catch(e){S("Error restoring forms!",{type:"snackbar"})}},{invalidateResolution:A}=(0,p.useDispatch)("core/data");(0,r.useEffect)((()=>()=>{A("core","getEntityRecords",_)}),[]);const _=["postType","quill_forms",{status:"all"===c?"publish,draft":c,per_page:-1,search:s,orderby:d,order:"title"===d?"asc":"desc"}],{forms:M,hasFormsFinishedResolution:D}=(0,p.useSelect)((e=>({forms:e("core").getEntityRecords(..._),hasFormsFinishedResolution:e("core").hasFinishedResolution("getEntityRecords",_)})),[c,s,d]),T=(0,p.useSelect)((e=>{const t=e("core").getEntityRecords("postType","quill_forms",{per_page:-1,status:"publish,draft,trash"});return t?{all:t.filter((e=>"trash"!==e.status)).length,published:t.filter((e=>"publish"===e.status)).length,draft:t.filter((e=>"draft"===e.status)).length,trash:t.filter((e=>"trash"===e.status)).length}:{all:0,published:0,draft:0,trash:0}}),[]),j=[{name:"all",title:`All (${T.all})`,className:"tab-all"},{name:"publish",title:`Published (${T.published})`,className:"tab-published"},{name:"draft",title:`Drafts (${T.draft})`,className:"tab-drafts"},{name:"trash",title:`Trash (${T.trash})`,className:"tab-trash"}];return React.createElement("div",{className:"quillforms-home"},React.createElement("div",{className:"quillforms-home__header"},React.createElement("div",{className:"quillforms-home__header-left"},React.createElement("h1",null,"Forms"),h.length>0?React.createElement(R,null):React.createElement(m.Button,{isPrimary:!0,className:"add-new-form-button",onClick:()=>t(!0)},React.createElement("plus-icon",null)," New Form")),React.createElement("div",{className:"quillforms-home__header-right"},React.createElement(m.SearchControl,{value:s,onChange:l,placeholder:"Search forms..."}),React.createElement(m.Dropdown,{className:"sort-dropdown",position:"bottom left",renderToggle:({isOpen:e,onToggle:t})=>React.createElement(m.Button,{onClick:t,"aria-expanded":e},"Sort by: ",d),renderContent:()=>React.createElement(m.MenuGroup,null,React.createElement(m.MenuItem,{onClick:()=>f("date")},"Date"),React.createElement(m.MenuItem,{onClick:()=>f("title")},"Title"))}),React.createElement("div",{className:"view-mode-toggle"},React.createElement(m.Button,{isPressed:"grid"===o,onClick:()=>i("grid"),icon:wl}),React.createElement(m.Button,{isPressed:"list"===o,onClick:()=>i("list"),icon:Rl})))),React.createElement(m.TabPanel,{className:"quillforms-home__tabs",tabs:j,onSelect:u},(e=>React.createElement("div",{className:`quillforms-home__forms-grid view-${o}`},"list"===o&&React.createElement(ql,{selectAll:y,handleSelectAll:E}),!D&&n?React.createElement(_l,{viewMode:o}):M&&0!==(0,v.size)(M)?M.map((e=>React.createElement(jl,{key:e.id,form:e,viewMode:o,isTrash:"trash"===c,isSelected:h.includes(e.id),onSelect:w}))):React.createElement(Ll,{status:c,onCreateNew:()=>t(!0)})))),e&&React.createElement(Al,{closeModal:()=>t(!1)}))},Bl=window.qf.builderCore,Fl=window.qf.restFields,zl=()=>React.createElement("div",{className:"qf-builder-placeholder-button"}),Hl=({onCancel:e,onConfirm:t})=>React.createElement(m.Modal,{className:yt.css` 131 131 border: none !important; 132 132 border-radius: 9px; -
quillforms/tags/4.2.0/includes/class-quillforms.php
r3215836 r3215849 246 246 include_once QUILLFORMS_PLUGIN_DIR . 'includes/rest-fields/settings.php'; 247 247 include_once QUILLFORMS_PLUGIN_DIR . 'includes/rest-fields/quiz.php'; 248 include_once QUILLFORMS_PLUGIN_DIR . 'includes/rest-fields/responses-count.php'; 248 249 } 249 250 }
Note: See TracChangeset
for help on using the changeset viewer.