Plugin Directory

Changeset 3795535


Ignore:
Timestamp:
11/11/2026 02:03:40 AM (5 hours ago)
Author:
vektor-inc
Message:

Update to version 1.4.2 from GitHub

Location:
vk-google-job-posting-manager
Files:
22 edited
1 copied

Legend:

Unmodified
Added
Removed
  • vk-google-job-posting-manager/tags/1.4.2/build/editor-panel/index.asset.php

    r3785430 r3795535  
    99                'wp-plugins'
    1010        ),
    11         'version' => 'ef9ad26f6fb13ab6081b'
     11        'version' => 'e19ad67c40cde1ee2d5e'
    1212);
  • vk-google-job-posting-manager/tags/1.4.2/build/editor-panel/index.js

    r3706638 r3795535  
    1 !function(){"use strict";var e={790:function(e){e.exports=window.ReactJSXRuntime},715:function(e){e.exports=window.wp.blockEditor},427:function(e){e.exports=window.wp.components},582:function(e){e.exports=window.wp.coreData},143:function(e){e.exports=window.wp.data},656:function(e){e.exports=window.wp.editor},279:function(e){e.exports=window.wp.plugins},145:function(e,n,t){function r(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}t.d(n,{A:function(){return r}})},369:function(e,n,t){function r(e){if(Array.isArray(e))return e}t.d(n,{A:function(){return r}})},243:function(e,n,t){t.d(n,{A:function(){return o}});var r=t(145);function o(e){if(Array.isArray(e))return(0,r.A)(e)}},467:function(e,n,t){t.d(n,{A:function(){return o}});var r=t(922);function o(e,n,t){return(n=(0,r.A)(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}},893:function(e,n,t){function r(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}t.d(n,{A:function(){return r}})},986:function(e,n,t){function r(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,i,l,a=[],u=!0,c=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=i.call(t)).done)&&(a.push(r.value),a.length!==n);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=t.return&&(l=t.return(),Object(l)!==l))return}finally{if(c)throw o}}return a}}t.d(n,{A:function(){return r}})},562:function(e,n,t){function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}t.d(n,{A:function(){return r}})},519:function(e,n,t){function r(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}t.d(n,{A:function(){return r}})},453:function(e,n,t){t.d(n,{A:function(){return a}});var r=t(369),o=t(986),i=t(800),l=t(562);function a(e,n){return(0,r.A)(e)||(0,o.A)(e,n)||(0,i.A)(e,n)||(0,l.A)()}},394:function(e,n,t){t.d(n,{A:function(){return a}});var r=t(243),o=t(893),i=t(800),l=t(519);function a(e){return(0,r.A)(e)||(0,o.A)(e)||(0,i.A)(e)||(0,l.A)()}},327:function(e,n,t){t.d(n,{A:function(){return o}});var r=t(284);function o(e,n){if("object"!=(0,r.A)(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=(0,r.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}},922:function(e,n,t){t.d(n,{A:function(){return i}});var r=t(284),o=t(327);function i(e){var n=(0,o.A)(e,"string");return"symbol"==(0,r.A)(n)?n:n+""}},284:function(e,n,t){function r(e){return r="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},r(e)}t.d(n,{A:function(){return r}})},800:function(e,n,t){t.d(n,{A:function(){return o}});var r=t(145);function o(e,n){if(e){if("string"==typeof e)return(0,r.A)(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?(0,r.A)(e,n):void 0}}}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var i=n[r]={exports:{}};return e[r](i,i.exports,t),i.exports}t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,{a:n}),n},t.d=function(e,n){for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)};var r=t(394),o=t(467),i=t(453),l=t(279),a=t(656),u=t(427),c=t(143),p=t(582),s=t(715),d=t(790);function v(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function f(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?v(Object(t),!0).forEach(function(n){(0,o.A)(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):v(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var y=window.vgjpmPanelData||{},m=y.i18n||{},j=y.currencies||[],b=[{value:"FULL_TIME",label:m.fullTime||"FULL TIME"},{value:"PART_TIME",label:m.partTime||"PART TIME"},{value:"CONTRACTOR",label:m.contractor||"CONTRACTOR"},{value:"TEMPORARY",label:m.temporary||"TEMPORARY"},{value:"INTERN",label:m.intern||"INTERN"},{value:"VOLUNTEER",label:m.volunteer||"VOLUNTEER"},{value:"PER_DIEM",label:m.perDiem||"PER DIEM"},{value:"OTHER",label:m.otherType||"OTHER"}],g=function(e){var n=e.postType,t=(0,p.useEntityProp)("postType",n,"meta"),l=(0,i.A)(t,2),v=l[0],y=l[1],g=function(e,n){return y(f(f({},v),{},(0,o.A)({},e,n)))},x=function(e,n){var t=Array.isArray(null==v?void 0:v[e])?(0,r.A)(v[e]):[],o=t.indexOf(n);o>=0?t.splice(o,1):t.push(n),g(e,t)},h=function(e,n){return Array.isArray(null==v?void 0:v[e])&&v[e].includes(n)},T=null!=v&&v.vkjp_logo?parseInt(v.vkjp_logo,10):0,A=(0,c.useSelect)(function(e){return T?e("core").getMedia(T):null},[T]);return(0,d.jsxs)(a.PluginSidebar,{name:"vgjpm-job-posting",title:m.sidebarTitle||"Google Job Posting Registration Information",icon:"businessman",children:[(0,d.jsxs)(u.PanelBody,{title:m.jobInfo||"Job Information",initialOpen:!0,children:[(0,d.jsx)(u.TextControl,{label:(m.jobTitle||"Job Title")+" *",value:(null==v?void 0:v.vkjp_title)||"",onChange:function(e){return g("vkjp_title",e)}}),(0,d.jsx)(u.TextareaControl,{label:(m.jobDescription||"Job Description")+" *",value:(null==v?void 0:v.vkjp_description)||"",onChange:function(e){return g("vkjp_description",e)},rows:6})]}),(0,d.jsxs)(u.PanelBody,{title:m.salary||"Salary",initialOpen:!1,children:[(0,d.jsx)(u.TextControl,{label:m.minSalary||"Minimum Salary",value:(null==v?void 0:v.vkjp_minValue)||"",onChange:function(e){return g("vkjp_minValue",e)}}),(0,d.jsx)(u.TextControl,{label:m.maxSalary||"Maximum Salary",value:(null==v?void 0:v.vkjp_maxValue)||"",onChange:function(e){return g("vkjp_maxValue",e)}}),(0,d.jsx)(u.SelectControl,{label:m.salaryCycle||"Salary Cycle",value:(null==v?void 0:v.vkjp_unitText)||"",options:[{value:"",label:"—"},{value:"HOUR",label:m.perHour||"Per hour"},{value:"DAY",label:m.perDay||"Per Day"},{value:"WEEK",label:m.perWeek||"Per Week"},{value:"MONTH",label:m.perMonth||"Per month"},{value:"YEAR",label:m.perYear||"Per year"}],onChange:function(e){return g("vkjp_unitText",e)}}),(0,d.jsx)(u.SelectControl,{label:m.currency||"Currency",value:(null==v?void 0:v.vkjp_currency)||"",options:j,onChange:function(e){return g("vkjp_currency",e)}})]}),(0,d.jsxs)(u.PanelBody,{title:m.employment||"Employment",initialOpen:!1,children:[(0,d.jsx)("p",{style:{marginTop:0,marginBottom:"8px"},children:m.employmentType||"Employment Type"}),b.map(function(e){var n=e.value,t=e.label;return(0,d.jsx)("div",{style:{marginBottom:"8px"},children:(0,d.jsx)(u.CheckboxControl,{__nextHasNoMarginBottom:!0,label:t,checked:h("vkjp_employmentType",n),onChange:function(){return x("vkjp_employmentType",n)}})},n)}),(0,d.jsx)("hr",{style:{margin:"16px 0"}}),(0,d.jsx)("div",{style:{marginBottom:"8px"},children:(0,d.jsx)(u.CheckboxControl,{__nextHasNoMarginBottom:!0,label:m.telecommute||"TELECOMMUTE",checked:h("vkjp_jobLocationType","TELECOMMUTE"),onChange:function(){return x("vkjp_jobLocationType","TELECOMMUTE")}})}),(0,d.jsx)(u.TextControl,{label:m.applicantLocationRequirements||"Applicant Location Requirements",value:(null==v?void 0:v.vkjp_applicantLocationRequirements_name)||"",onChange:function(e){return g("vkjp_applicantLocationRequirements_name",e)}}),(0,d.jsx)("div",{style:{marginBottom:"8px"},children:(0,d.jsx)(u.CheckboxControl,{__nextHasNoMarginBottom:!0,label:m.directApply||"Direct Apply",checked:h("vkjp_directApply","true"),onChange:function(){return x("vkjp_directApply","true")}})})]}),(0,d.jsxs)(u.PanelBody,{title:m.hiringOrganization||"Hiring Organization",initialOpen:!1,children:[(0,d.jsx)(u.TextControl,{label:(m.organizationName||"Organization Name")+" *",value:(null==v?void 0:v.vkjp_name)||"",onChange:function(e){return g("vkjp_name",e)}}),(0,d.jsx)(u.TextControl,{label:m.organizationUrl||"Organization URL",value:(null==v?void 0:v.vkjp_sameAs)||"",onChange:function(e){return g("vkjp_sameAs",e)},type:"url"}),(0,d.jsx)("p",{style:{marginTop:0,marginBottom:"8px"},children:m.logo||"Logo"}),(0,d.jsx)(s.MediaUploadCheck,{children:(0,d.jsx)(s.MediaUpload,{onSelect:function(e){return g("vkjp_logo",String(e.id))},allowedTypes:["image"],value:T,render:function(e){var n=e.open;return(0,d.jsxs)("div",{children:[T>0&&A&&(0,d.jsx)("img",{src:A.source_url,alt:"",style:{maxWidth:"100%",height:"auto",marginBottom:"8px"}}),(0,d.jsxs)("div",{style:{display:"flex",gap:"8px"},children:[(0,d.jsx)(u.Button,{onClick:n,variant:T?"secondary":"primary",children:T?m.changeImage||"Change":m.chooseImage||"Choose Image"}),T>0&&(0,d.jsx)(u.Button,{onClick:function(){return g("vkjp_logo","")},isDestructive:!0,variant:"tertiary",children:m.removeImage||"Remove"})]})]})}})})]}),(0,d.jsxs)(u.PanelBody,{title:m.workLocation||"Work Location",initialOpen:!1,children:[(0,d.jsx)(u.TextControl,{label:m.postalCode||"Postal Code",value:(null==v?void 0:v.vkjp_postalCode)||"",onChange:function(e){return g("vkjp_postalCode",e)}}),(0,d.jsx)(u.TextControl,{label:m.country||"Country",value:(null==v?void 0:v.vkjp_addressCountry)||"",onChange:function(e){return g("vkjp_addressCountry",e)}}),(0,d.jsx)(u.TextControl,{label:m.region||"Region",value:(null==v?void 0:v.vkjp_addressRegion)||"",onChange:function(e){return g("vkjp_addressRegion",e)}}),(0,d.jsx)(u.TextControl,{label:m.locality||"Locality",value:(null==v?void 0:v.vkjp_addressLocality)||"",onChange:function(e){return g("vkjp_addressLocality",e)}}),(0,d.jsx)(u.TextControl,{label:m.streetAddress||"Street Address",value:(null==v?void 0:v.vkjp_streetAddress)||"",onChange:function(e){return g("vkjp_streetAddress",e)}})]}),(0,d.jsxs)(u.PanelBody,{title:m.other||"Other",initialOpen:!1,children:[(0,d.jsx)(u.TextControl,{label:m.validThrough||"Valid Through",value:(null==v?void 0:v.vkjp_validThrough)||"",onChange:function(e){return g("vkjp_validThrough",e)},type:"date"}),(0,d.jsx)(u.TextControl,{label:m.identifier||"Identifier",value:(null==v?void 0:v.vkjp_identifier)||"",onChange:function(e){return g("vkjp_identifier",e)}})]})]})};(0,l.registerPlugin)("vgjpm-editor-panels",{render:function(){var e=(0,c.useSelect)(function(e){return e("core/editor").getCurrentPostType()},[]);return e?(0,d.jsx)(g,{postType:e}):null}})}();
     1!function(){"use strict";var e={790:function(e){e.exports=window.ReactJSXRuntime},715:function(e){e.exports=window.wp.blockEditor},427:function(e){e.exports=window.wp.components},582:function(e){e.exports=window.wp.coreData},143:function(e){e.exports=window.wp.data},656:function(e){e.exports=window.wp.editor},279:function(e){e.exports=window.wp.plugins},145:function(e,n,t){function r(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}t.d(n,{A:function(){return r}})},369:function(e,n,t){function r(e){if(Array.isArray(e))return e}t.d(n,{A:function(){return r}})},243:function(e,n,t){t.d(n,{A:function(){return o}});var r=t(145);function o(e){if(Array.isArray(e))return(0,r.A)(e)}},467:function(e,n,t){t.d(n,{A:function(){return o}});var r=t(922);function o(e,n,t){return(n=(0,r.A)(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}},893:function(e,n,t){function r(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}t.d(n,{A:function(){return r}})},986:function(e,n,t){function r(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,i,l,a=[],u=!0,c=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=i.call(t)).done)&&(a.push(r.value),a.length!==n);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=t.return&&(l=t.return(),Object(l)!==l))return}finally{if(c)throw o}}return a}}t.d(n,{A:function(){return r}})},562:function(e,n,t){function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}t.d(n,{A:function(){return r}})},519:function(e,n,t){function r(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}t.d(n,{A:function(){return r}})},453:function(e,n,t){t.d(n,{A:function(){return a}});var r=t(369),o=t(986),i=t(800),l=t(562);function a(e,n){return(0,r.A)(e)||(0,o.A)(e,n)||(0,i.A)(e,n)||(0,l.A)()}},394:function(e,n,t){t.d(n,{A:function(){return a}});var r=t(243),o=t(893),i=t(800),l=t(519);function a(e){return(0,r.A)(e)||(0,o.A)(e)||(0,i.A)(e)||(0,l.A)()}},327:function(e,n,t){t.d(n,{A:function(){return o}});var r=t(284);function o(e,n){if("object"!=(0,r.A)(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=(0,r.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}},922:function(e,n,t){t.d(n,{A:function(){return i}});var r=t(284),o=t(327);function i(e){var n=(0,o.A)(e,"string");return"symbol"==(0,r.A)(n)?n:n+""}},284:function(e,n,t){function r(e){return r="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},r(e)}t.d(n,{A:function(){return r}})},800:function(e,n,t){t.d(n,{A:function(){return o}});var r=t(145);function o(e,n){if(e){if("string"==typeof e)return(0,r.A)(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?(0,r.A)(e,n):void 0}}}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var i=n[r]={exports:{}};return e[r](i,i.exports,t),i.exports}t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,{a:n}),n},t.d=function(e,n){for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)};var r=t(394),o=t(467),i=t(453),l=t(279),a=t(656),u=t(427),c=t(143),p=t(582),s=t(715),d=t(790);function v(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function f(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?v(Object(t),!0).forEach(function(n){(0,o.A)(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):v(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var y=window.vgjpmPanelData||{},m=y.i18n||{},j=y.currencies||[],b=y.defaultCurrency||"",g=y.commonCurrency||"",x=[{value:"FULL_TIME",label:m.fullTime||"FULL TIME"},{value:"PART_TIME",label:m.partTime||"PART TIME"},{value:"CONTRACTOR",label:m.contractor||"CONTRACTOR"},{value:"TEMPORARY",label:m.temporary||"TEMPORARY"},{value:"INTERN",label:m.intern||"INTERN"},{value:"VOLUNTEER",label:m.volunteer||"VOLUNTEER"},{value:"PER_DIEM",label:m.perDiem||"PER DIEM"},{value:"OTHER",label:m.otherType||"OTHER"}],h=function(e){var n=e.postType,t=(0,p.useEntityProp)("postType",n,"meta"),l=(0,i.A)(t,2),v=l[0],y=l[1],h=function(e,n){var t=f(f({},v),{},(0,o.A)({},e,n));"vkjp_currency"===e||!b||null!=v&&v.vkjp_currency||g||(t.vkjp_currency=b),y(t)},C=function(e,n){var t=Array.isArray(null==v?void 0:v[e])?(0,r.A)(v[e]):[],o=t.indexOf(n);o>=0?t.splice(o,1):t.push(n),h(e,t)},T=function(e,n){return Array.isArray(null==v?void 0:v[e])&&v[e].includes(n)},A=null!=v&&v.vkjp_logo?parseInt(v.vkjp_logo,10):0,k=(0,c.useSelect)(function(e){return A?e("core").getMedia(A):null},[A]);return(0,d.jsxs)(a.PluginSidebar,{name:"vgjpm-job-posting",title:m.sidebarTitle||"Google Job Posting Registration Information",icon:"businessman",children:[(0,d.jsxs)(u.PanelBody,{title:m.jobInfo||"Job Information",initialOpen:!0,children:[(0,d.jsx)(u.TextControl,{label:(m.jobTitle||"Job Title")+" *",value:(null==v?void 0:v.vkjp_title)||"",onChange:function(e){return h("vkjp_title",e)}}),(0,d.jsx)(u.TextareaControl,{label:(m.jobDescription||"Job Description")+" *",value:(null==v?void 0:v.vkjp_description)||"",onChange:function(e){return h("vkjp_description",e)},rows:6})]}),(0,d.jsxs)(u.PanelBody,{title:m.salary||"Salary",initialOpen:!1,children:[(0,d.jsx)(u.TextControl,{label:m.minSalary||"Minimum Salary",value:(null==v?void 0:v.vkjp_minValue)||"",onChange:function(e){return h("vkjp_minValue",e)}}),(0,d.jsx)(u.TextControl,{label:m.maxSalary||"Maximum Salary",value:(null==v?void 0:v.vkjp_maxValue)||"",onChange:function(e){return h("vkjp_maxValue",e)}}),(0,d.jsx)(u.SelectControl,{label:m.salaryCycle||"Salary Cycle",value:(null==v?void 0:v.vkjp_unitText)||"",options:[{value:"",label:"—"},{value:"HOUR",label:m.perHour||"Per hour"},{value:"DAY",label:m.perDay||"Per Day"},{value:"WEEK",label:m.perWeek||"Per Week"},{value:"MONTH",label:m.perMonth||"Per month"},{value:"YEAR",label:m.perYear||"Per year"}],onChange:function(e){return h("vkjp_unitText",e)}}),(0,d.jsx)(u.SelectControl,{label:m.currency||"Currency",value:(null==v?void 0:v.vkjp_currency)||(g?"":b),options:j,onChange:function(e){return h("vkjp_currency",e)}})]}),(0,d.jsxs)(u.PanelBody,{title:m.employment||"Employment",initialOpen:!1,children:[(0,d.jsx)("p",{style:{marginTop:0,marginBottom:"8px"},children:m.employmentType||"Employment Type"}),x.map(function(e){var n=e.value,t=e.label;return(0,d.jsx)("div",{style:{marginBottom:"8px"},children:(0,d.jsx)(u.CheckboxControl,{__nextHasNoMarginBottom:!0,label:t,checked:T("vkjp_employmentType",n),onChange:function(){return C("vkjp_employmentType",n)}})},n)}),(0,d.jsx)("hr",{style:{margin:"16px 0"}}),(0,d.jsx)("div",{style:{marginBottom:"8px"},children:(0,d.jsx)(u.CheckboxControl,{__nextHasNoMarginBottom:!0,label:m.telecommute||"TELECOMMUTE",checked:T("vkjp_jobLocationType","TELECOMMUTE"),onChange:function(){return C("vkjp_jobLocationType","TELECOMMUTE")}})}),(0,d.jsx)(u.TextControl,{label:m.applicantLocationRequirements||"Applicant Location Requirements",value:(null==v?void 0:v.vkjp_applicantLocationRequirements_name)||"",onChange:function(e){return h("vkjp_applicantLocationRequirements_name",e)}}),(0,d.jsx)("div",{style:{marginBottom:"8px"},children:(0,d.jsx)(u.CheckboxControl,{__nextHasNoMarginBottom:!0,label:m.directApply||"Direct Apply",checked:T("vkjp_directApply","true"),onChange:function(){return C("vkjp_directApply","true")}})})]}),(0,d.jsxs)(u.PanelBody,{title:m.hiringOrganization||"Hiring Organization",initialOpen:!1,children:[(0,d.jsx)(u.TextControl,{label:(m.organizationName||"Organization Name")+" *",value:(null==v?void 0:v.vkjp_name)||"",onChange:function(e){return h("vkjp_name",e)}}),(0,d.jsx)(u.TextControl,{label:m.organizationUrl||"Organization URL",value:(null==v?void 0:v.vkjp_sameAs)||"",onChange:function(e){return h("vkjp_sameAs",e)},type:"url"}),(0,d.jsx)("p",{style:{marginTop:0,marginBottom:"8px"},children:m.logo||"Logo"}),(0,d.jsx)(s.MediaUploadCheck,{children:(0,d.jsx)(s.MediaUpload,{onSelect:function(e){return h("vkjp_logo",String(e.id))},allowedTypes:["image"],value:A,render:function(e){var n=e.open;return(0,d.jsxs)("div",{children:[A>0&&k&&(0,d.jsx)("img",{src:k.source_url,alt:"",style:{maxWidth:"100%",height:"auto",marginBottom:"8px"}}),(0,d.jsxs)("div",{style:{display:"flex",gap:"8px"},children:[(0,d.jsx)(u.Button,{onClick:n,variant:A?"secondary":"primary",children:A?m.changeImage||"Change":m.chooseImage||"Choose Image"}),A>0&&(0,d.jsx)(u.Button,{onClick:function(){return h("vkjp_logo","")},isDestructive:!0,variant:"tertiary",children:m.removeImage||"Remove"})]})]})}})})]}),(0,d.jsxs)(u.PanelBody,{title:m.workLocation||"Work Location",initialOpen:!1,children:[(0,d.jsx)(u.TextControl,{label:m.postalCode||"Postal Code",value:(null==v?void 0:v.vkjp_postalCode)||"",onChange:function(e){return h("vkjp_postalCode",e)}}),(0,d.jsx)(u.TextControl,{label:m.country||"Country",value:(null==v?void 0:v.vkjp_addressCountry)||"",onChange:function(e){return h("vkjp_addressCountry",e)}}),(0,d.jsx)(u.TextControl,{label:m.region||"Region",value:(null==v?void 0:v.vkjp_addressRegion)||"",onChange:function(e){return h("vkjp_addressRegion",e)}}),(0,d.jsx)(u.TextControl,{label:m.locality||"Locality",value:(null==v?void 0:v.vkjp_addressLocality)||"",onChange:function(e){return h("vkjp_addressLocality",e)}}),(0,d.jsx)(u.TextControl,{label:m.streetAddress||"Street Address",value:(null==v?void 0:v.vkjp_streetAddress)||"",onChange:function(e){return h("vkjp_streetAddress",e)}})]}),(0,d.jsxs)(u.PanelBody,{title:m.other||"Other",initialOpen:!1,children:[(0,d.jsx)(u.TextControl,{label:m.validThrough||"Valid Through",value:(null==v?void 0:v.vkjp_validThrough)||"",onChange:function(e){return h("vkjp_validThrough",e)},type:"date"}),(0,d.jsx)(u.TextControl,{label:m.identifier||"Identifier",value:(null==v?void 0:v.vkjp_identifier)||"",onChange:function(e){return h("vkjp_identifier",e)}})]})]})};(0,l.registerPlugin)("vgjpm-editor-panels",{render:function(){var e=(0,c.useSelect)(function(e){return e("core/editor").getCurrentPostType()},[]);return e?(0,d.jsx)(h,{postType:e}):null}})}();
    22//# sourceMappingURL=index.js.map
  • vk-google-job-posting-manager/tags/1.4.2/build/editor-panel/index.js.map

    r3706638 r3795535  
    1 {"version":3,"file":"index.js","mappings":"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","sources":["webpack://vk-google-job-posting-manager/external window \"ReactJSXRuntime\"","webpack://vk-google-job-posting-manager/external window [\"wp\",\"blockEditor\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"components\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"coreData\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"data\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"editor\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"plugins\"]","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://vk-google-job-posting-manager/webpack/bootstrap","webpack://vk-google-job-posting-manager/webpack/runtime/compat get default export","webpack://vk-google-job-posting-manager/webpack/runtime/define property getters","webpack://vk-google-job-posting-manager/webpack/runtime/hasOwnProperty shorthand","webpack://vk-google-job-posting-manager/./src/editor-panel/index.js"],"sourcesContent":["module.exports = window[\"ReactJSXRuntime\"];","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"coreData\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"editor\"];","module.exports = window[\"wp\"][\"plugins\"];","function _arrayLikeToArray(r, a) {\n  (null == a || a > r.length) && (a = r.length);\n  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n  return n;\n}\nexport { _arrayLikeToArray as default };","function _arrayWithHoles(r) {\n  if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n  if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _iterableToArray(r) {\n  if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _iterableToArrayLimit(r, l) {\n  var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n  if (null != t) {\n    var e,\n      n,\n      i,\n      u,\n      a = [],\n      f = !0,\n      o = !1;\n    try {\n      if (i = (t = t.call(r)).next, 0 === l) {\n        if (Object(t) !== t) return;\n        f = !1;\n      } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n    } catch (r) {\n      o = !0, n = r;\n    } finally {\n      try {\n        if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n      } finally {\n        if (o) throw n;\n      }\n    }\n    return a;\n  }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","function _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n  return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n  return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n  if (r) {\n    if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n    var t = {}.toString.call(r).slice(8, -1);\n    return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n  }\n}\nexport { _unsupportedIterableToArray as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter/value functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); };","/**\n * VK Google Job Posting Manager - Editor Panel\n *\n * ブロックエディタのサイドバーに求人情報入力パネルを追加する。\n * PluginSidebar を使い、ツールバーに専用アイコンを表示。\n * 各セクションは PanelBody で折りたたみ可能。\n */\n\nimport { registerPlugin } from '@wordpress/plugins';\nimport { PluginSidebar } from '@wordpress/editor';\nimport {\n\tCheckboxControl,\n\tTextControl,\n\tTextareaControl,\n\tSelectControl,\n\tButton,\n\tPanelBody,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { MediaUpload, MediaUploadCheck } from '@wordpress/block-editor';\n\n// ローカライズデータとi18n文字列を取得\nconst data = window.vgjpmPanelData || {};\nconst i18n = data.i18n || {};\nconst currencies = data.currencies || [];\n\n// 雇用形態の選択肢一覧\nconst employmentTypes = [\n\t{ value: 'FULL_TIME', label: i18n.fullTime || 'FULL TIME' },\n\t{ value: 'PART_TIME', label: i18n.partTime || 'PART TIME' },\n\t{ value: 'CONTRACTOR', label: i18n.contractor || 'CONTRACTOR' },\n\t{ value: 'TEMPORARY', label: i18n.temporary || 'TEMPORARY' },\n\t{ value: 'INTERN', label: i18n.intern || 'INTERN' },\n\t{ value: 'VOLUNTEER', label: i18n.volunteer || 'VOLUNTEER' },\n\t{ value: 'PER_DIEM', label: i18n.perDiem || 'PER DIEM' },\n\t{ value: 'OTHER', label: i18n.otherType || 'OTHER' },\n];\n\n/**\n * 外側コンポーネント: postType を取得し、未定義なら何も描画しない。\n * postType が確定してから内側コンポーネントに渡すことで\n * useEntityProp のフック呼び出し順序を安定させる。\n */\nconst JobPostingPanels = () => {\n\tconst postType = useSelect(\n\t\t( s ) => s( 'core/editor' ).getCurrentPostType(),\n\t\t[]\n\t);\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn <JobPostingPanelsInner postType={ postType } />;\n};\n\n/**\n * 内側コンポーネント: postType が確定した状態で useEntityProp を呼ぶ。\n * PluginSidebar 内に6つの PanelBody セクションを配置。\n *\n * @param {Object} props          Component props.\n * @param {string} props.postType 投稿タイプスラッグ\n */\nconst JobPostingPanelsInner = ( { postType } ) => {\n\tconst [ meta, setMeta ] = useEntityProp( 'postType', postType, 'meta' );\n\n\t/**\n\t * メタデータを更新する\n\t *\n\t * @param {string} key   メタキー\n\t * @param {*}      value 設定する値\n\t */\n\tconst update = ( key, value ) => setMeta( { ...meta, [ key ]: value } );\n\n\t/**\n\t * 配列型メタデータの値をトグルする\n\t *\n\t * @param {string} key   メタキー\n\t * @param {string} value トグルする値\n\t */\n\tconst toggleArrayValue = ( key, value ) => {\n\t\tconst arr = Array.isArray( meta?.[ key ] ) ? [ ...meta[ key ] ] : [];\n\t\tconst idx = arr.indexOf( value );\n\t\tif ( idx >= 0 ) {\n\t\t\tarr.splice( idx, 1 );\n\t\t} else {\n\t\t\tarr.push( value );\n\t\t}\n\t\tupdate( key, arr );\n\t};\n\n\t/**\n\t * 配列型メタデータに値が含まれているか判定する\n\t *\n\t * @param {string} key   メタキー\n\t * @param {string} value 検索する値\n\t * @return {boolean} 値が含まれていればtrue\n\t */\n\tconst isInArray = ( key, value ) => {\n\t\treturn Array.isArray( meta?.[ key ] ) && meta[ key ].includes( value );\n\t};\n\n\t// ロゴ画像のIDとデータを取得\n\tconst logoId = meta?.vkjp_logo ? parseInt( meta.vkjp_logo, 10 ) : 0;\n\tconst logoImage = useSelect(\n\t\t( s ) => ( logoId ? s( 'core' ).getMedia( logoId ) : null ),\n\t\t[ logoId ]\n\t);\n\n\treturn (\n\t\t<PluginSidebar\n\t\t\tname=\"vgjpm-job-posting\"\n\t\t\ttitle={\n\t\t\t\ti18n.sidebarTitle ||\n\t\t\t\t'Google Job Posting Registration Information'\n\t\t\t}\n\t\t\ticon=\"businessman\"\n\t\t>\n\t\t\t{ /* Section 1: 求人情報 */ }\n\t\t\t<PanelBody\n\t\t\t\ttitle={ i18n.jobInfo || 'Job Information' }\n\t\t\t\tinitialOpen={ true }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ ( i18n.jobTitle || 'Job Title' ) + ' *' }\n\t\t\t\t\tvalue={ meta?.vkjp_title || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_title', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={\n\t\t\t\t\t\t( i18n.jobDescription || 'Job Description' ) + ' *'\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ meta?.vkjp_description || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_description', v ) }\n\t\t\t\t\trows={ 6 }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 2: 給与 */ }\n\t\t\t<PanelBody title={ i18n.salary || 'Salary' } initialOpen={ false }>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.minSalary || 'Minimum Salary' }\n\t\t\t\t\tvalue={ meta?.vkjp_minValue || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_minValue', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.maxSalary || 'Maximum Salary' }\n\t\t\t\t\tvalue={ meta?.vkjp_maxValue || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_maxValue', v ) }\n\t\t\t\t/>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ i18n.salaryCycle || 'Salary Cycle' }\n\t\t\t\t\tvalue={ meta?.vkjp_unitText || '' }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ value: '', label: '—' },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'HOUR',\n\t\t\t\t\t\t\tlabel: i18n.perHour || 'Per hour',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'DAY',\n\t\t\t\t\t\t\tlabel: i18n.perDay || 'Per Day',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'WEEK',\n\t\t\t\t\t\t\tlabel: i18n.perWeek || 'Per Week',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'MONTH',\n\t\t\t\t\t\t\tlabel: i18n.perMonth || 'Per month',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'YEAR',\n\t\t\t\t\t\t\tlabel: i18n.perYear || 'Per year',\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_unitText', v ) }\n\t\t\t\t/>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ i18n.currency || 'Currency' }\n\t\t\t\t\tvalue={ meta?.vkjp_currency || '' }\n\t\t\t\t\toptions={ currencies }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_currency', v ) }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 3: 雇用 */ }\n\t\t\t<PanelBody\n\t\t\t\ttitle={ i18n.employment || 'Employment' }\n\t\t\t\tinitialOpen={ false }\n\t\t\t>\n\t\t\t\t<p style={ { marginTop: 0, marginBottom: '8px' } }>\n\t\t\t\t\t{ i18n.employmentType || 'Employment Type' }\n\t\t\t\t</p>\n\t\t\t\t{ employmentTypes.map( ( { value, label } ) => (\n\t\t\t\t\t<div key={ value } style={ { marginBottom: '8px' } }>\n\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tchecked={ isInArray(\n\t\t\t\t\t\t\t\t'vkjp_employmentType',\n\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\ttoggleArrayValue( 'vkjp_employmentType', value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) ) }\n\n\t\t\t\t<hr style={ { margin: '16px 0' } } />\n\n\t\t\t\t<div style={ { marginBottom: '8px' } }>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ i18n.telecommute || 'TELECOMMUTE' }\n\t\t\t\t\t\tchecked={ isInArray(\n\t\t\t\t\t\t\t'vkjp_jobLocationType',\n\t\t\t\t\t\t\t'TELECOMMUTE'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\ttoggleArrayValue(\n\t\t\t\t\t\t\t\t'vkjp_jobLocationType',\n\t\t\t\t\t\t\t\t'TELECOMMUTE'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={\n\t\t\t\t\t\ti18n.applicantLocationRequirements ||\n\t\t\t\t\t\t'Applicant Location Requirements'\n\t\t\t\t\t}\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tmeta?.vkjp_applicantLocationRequirements_name || ''\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( v ) =>\n\t\t\t\t\t\tupdate( 'vkjp_applicantLocationRequirements_name', v )\n\t\t\t\t\t}\n\t\t\t\t/>\n\n\t\t\t\t<div style={ { marginBottom: '8px' } }>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ i18n.directApply || 'Direct Apply' }\n\t\t\t\t\t\tchecked={ isInArray( 'vkjp_directApply', 'true' ) }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\ttoggleArrayValue( 'vkjp_directApply', 'true' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 4: 採用組織 */ }\n\t\t\t<PanelBody\n\t\t\t\ttitle={ i18n.hiringOrganization || 'Hiring Organization' }\n\t\t\t\tinitialOpen={ false }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={\n\t\t\t\t\t\t( i18n.organizationName || 'Organization Name' ) + ' *'\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ meta?.vkjp_name || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_name', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.organizationUrl || 'Organization URL' }\n\t\t\t\t\tvalue={ meta?.vkjp_sameAs || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_sameAs', v ) }\n\t\t\t\t\ttype=\"url\"\n\t\t\t\t/>\n\t\t\t\t<p style={ { marginTop: 0, marginBottom: '8px' } }>\n\t\t\t\t\t{ i18n.logo || 'Logo' }\n\t\t\t\t</p>\n\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\tupdate( 'vkjp_logo', String( media.id ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tallowedTypes={ [ 'image' ] }\n\t\t\t\t\t\tvalue={ logoId }\n\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t{ logoId > 0 && logoImage && (\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tsrc={ logoImage.source_url }\n\t\t\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\tmaxWidth: '100%',\n\t\t\t\t\t\t\t\t\t\t\theight: 'auto',\n\t\t\t\t\t\t\t\t\t\t\tmarginBottom: '8px',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\tgap: '8px',\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\tlogoId ? 'secondary' : 'primary'\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ logoId\n\t\t\t\t\t\t\t\t\t\t\t? i18n.changeImage || 'Change'\n\t\t\t\t\t\t\t\t\t\t\t: i18n.chooseImage ||\n\t\t\t\t\t\t\t\t\t\t\t  'Choose Image' }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ logoId > 0 && (\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tupdate( 'vkjp_logo', '' )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ i18n.removeImage || 'Remove' }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</MediaUploadCheck>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 5: 勤務地 */ }\n\t\t\t<PanelBody\n\t\t\t\ttitle={ i18n.workLocation || 'Work Location' }\n\t\t\t\tinitialOpen={ false }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.postalCode || 'Postal Code' }\n\t\t\t\t\tvalue={ meta?.vkjp_postalCode || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_postalCode', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.country || 'Country' }\n\t\t\t\t\tvalue={ meta?.vkjp_addressCountry || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_addressCountry', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.region || 'Region' }\n\t\t\t\t\tvalue={ meta?.vkjp_addressRegion || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_addressRegion', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.locality || 'Locality' }\n\t\t\t\t\tvalue={ meta?.vkjp_addressLocality || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_addressLocality', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.streetAddress || 'Street Address' }\n\t\t\t\t\tvalue={ meta?.vkjp_streetAddress || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_streetAddress', v ) }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 6: その他 */ }\n\t\t\t<PanelBody title={ i18n.other || 'Other' } initialOpen={ false }>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.validThrough || 'Valid Through' }\n\t\t\t\t\tvalue={ meta?.vkjp_validThrough || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_validThrough', v ) }\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.identifier || 'Identifier' }\n\t\t\t\t\tvalue={ meta?.vkjp_identifier || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_identifier', v ) }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</PluginSidebar>\n\t);\n};\n\nregisterPlugin( 'vgjpm-editor-panels', { render: JobPostingPanels } );\n"],"names":["module","exports","window","_arrayLikeToArray","r","a","length","e","n","Array","_arrayWithHoles","isArray","_arrayWithoutHoles","_defineProperty","t","Object","defineProperty","value","enumerable","configurable","writable","_iterableToArray","Symbol","iterator","from","_iterableToArrayLimit","l","i","u","f","o","call","next","done","push","_nonIterableRest","TypeError","_nonIterableSpread","_slicedToArray","_toConsumableArray","toPrimitive","String","Number","toPropertyKey","_typeof","constructor","prototype","_unsupportedIterableToArray","toString","slice","name","test","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","__esModule","d","definition","key","get","obj","prop","hasOwnProperty","data","vgjpmPanelData","i18n","currencies","employmentTypes","label","fullTime","partTime","contractor","temporary","intern","volunteer","perDiem","otherType","JobPostingPanelsInner","_ref","postType","_useEntityProp","useEntityProp","_useEntityProp2","meta","setMeta","update","_objectSpread","toggleArrayValue","arr","idx","indexOf","splice","isInArray","includes","logoId","vkjp_logo","parseInt","logoImage","useSelect","s","getMedia","_jsxs","PluginSidebar","title","sidebarTitle","icon","children","PanelBody","jobInfo","initialOpen","_jsx","TextControl","jobTitle","vkjp_title","onChange","v","TextareaControl","jobDescription","vkjp_description","rows","salary","minSalary","vkjp_minValue","maxSalary","vkjp_maxValue","SelectControl","salaryCycle","vkjp_unitText","options","perHour","perDay","perWeek","perMonth","perYear","currency","vkjp_currency","employment","style","marginTop","marginBottom","employmentType","map","_ref2","CheckboxControl","__nextHasNoMarginBottom","checked","margin","telecommute","applicantLocationRequirements","vkjp_applicantLocationRequirements_name","directApply","hiringOrganization","organizationName","vkjp_name","organizationUrl","vkjp_sameAs","type","logo","MediaUploadCheck","MediaUpload","onSelect","media","id","allowedTypes","render","_ref3","open","src","source_url","alt","maxWidth","height","display","gap","Button","onClick","variant","changeImage","chooseImage","isDestructive","removeImage","workLocation","postalCode","vkjp_postalCode","country","vkjp_addressCountry","region","vkjp_addressRegion","locality","vkjp_addressLocality","streetAddress","vkjp_streetAddress","other","validThrough","vkjp_validThrough","identifier","vkjp_identifier","registerPlugin","getCurrentPostType"],"sourceRoot":""}
     1{"version":3,"file":"index.js","mappings":"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","sources":["webpack://vk-google-job-posting-manager/external window \"ReactJSXRuntime\"","webpack://vk-google-job-posting-manager/external window [\"wp\",\"blockEditor\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"components\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"coreData\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"data\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"editor\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"plugins\"]","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://vk-google-job-posting-manager/webpack/bootstrap","webpack://vk-google-job-posting-manager/webpack/runtime/compat get default export","webpack://vk-google-job-posting-manager/webpack/runtime/define property getters","webpack://vk-google-job-posting-manager/webpack/runtime/hasOwnProperty shorthand","webpack://vk-google-job-posting-manager/./src/editor-panel/index.js"],"sourcesContent":["module.exports = window[\"ReactJSXRuntime\"];","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"coreData\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"editor\"];","module.exports = window[\"wp\"][\"plugins\"];","function _arrayLikeToArray(r, a) {\n  (null == a || a > r.length) && (a = r.length);\n  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n  return n;\n}\nexport { _arrayLikeToArray as default };","function _arrayWithHoles(r) {\n  if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n  if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _iterableToArray(r) {\n  if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _iterableToArrayLimit(r, l) {\n  var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n  if (null != t) {\n    var e,\n      n,\n      i,\n      u,\n      a = [],\n      f = !0,\n      o = !1;\n    try {\n      if (i = (t = t.call(r)).next, 0 === l) {\n        if (Object(t) !== t) return;\n        f = !1;\n      } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n    } catch (r) {\n      o = !0, n = r;\n    } finally {\n      try {\n        if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n      } finally {\n        if (o) throw n;\n      }\n    }\n    return a;\n  }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","function _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n  return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n  return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n  if (r) {\n    if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n    var t = {}.toString.call(r).slice(8, -1);\n    return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n  }\n}\nexport { _unsupportedIterableToArray as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter/value functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); };","/**\n * VK Google Job Posting Manager - Editor Panel\n *\n * ブロックエディタのサイドバーに求人情報入力パネルを追加する。\n * PluginSidebar を使い、ツールバーに専用アイコンを表示。\n * 各セクションは PanelBody で折りたたみ可能。\n */\n\nimport { registerPlugin } from '@wordpress/plugins';\nimport { PluginSidebar } from '@wordpress/editor';\nimport {\n\tCheckboxControl,\n\tTextControl,\n\tTextareaControl,\n\tSelectControl,\n\tButton,\n\tPanelBody,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { MediaUpload, MediaUploadCheck } from '@wordpress/block-editor';\n\n// ローカライズデータとi18n文字列を取得\nconst data = window.vgjpmPanelData || {};\nconst i18n = data.i18n || {};\nconst currencies = data.currencies || [];\n// 言語に対応する通貨の初期値と、共通設定の通貨\nconst defaultCurrency = data.defaultCurrency || '';\nconst commonCurrency = data.commonCurrency || '';\n\n// 雇用形態の選択肢一覧\nconst employmentTypes = [\n\t{ value: 'FULL_TIME', label: i18n.fullTime || 'FULL TIME' },\n\t{ value: 'PART_TIME', label: i18n.partTime || 'PART TIME' },\n\t{ value: 'CONTRACTOR', label: i18n.contractor || 'CONTRACTOR' },\n\t{ value: 'TEMPORARY', label: i18n.temporary || 'TEMPORARY' },\n\t{ value: 'INTERN', label: i18n.intern || 'INTERN' },\n\t{ value: 'VOLUNTEER', label: i18n.volunteer || 'VOLUNTEER' },\n\t{ value: 'PER_DIEM', label: i18n.perDiem || 'PER DIEM' },\n\t{ value: 'OTHER', label: i18n.otherType || 'OTHER' },\n];\n\n/**\n * 外側コンポーネント: postType を取得し、未定義なら何も描画しない。\n * postType が確定してから内側コンポーネントに渡すことで\n * useEntityProp のフック呼び出し順序を安定させる。\n */\nconst JobPostingPanels = () => {\n\tconst postType = useSelect(\n\t\t( s ) => s( 'core/editor' ).getCurrentPostType(),\n\t\t[]\n\t);\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn <JobPostingPanelsInner postType={ postType } />;\n};\n\n/**\n * 内側コンポーネント: postType が確定した状態で useEntityProp を呼ぶ。\n * PluginSidebar 内に6つの PanelBody セクションを配置。\n *\n * @param {Object} props          Component props.\n * @param {string} props.postType 投稿タイプスラッグ\n */\nconst JobPostingPanelsInner = ( { postType } ) => {\n\tconst [ meta, setMeta ] = useEntityProp( 'postType', postType, 'meta' );\n\n\t/**\n\t * メタデータを更新する\n\t *\n\t * @param {string} key   メタキー\n\t * @param {*}      value 設定する値\n\t */\n\tconst update = ( key, value ) => {\n\t\tconst next = { ...meta, [ key ]: value };\n\t\t// 投稿にも共通設定にも通貨が無いときだけ、画面に表示している初期値も一緒に保存する\n\t\tif (\n\t\t\tkey !== 'vkjp_currency' &&\n\t\t\tdefaultCurrency &&\n\t\t\t! meta?.vkjp_currency &&\n\t\t\t! commonCurrency\n\t\t) {\n\t\t\tnext.vkjp_currency = defaultCurrency;\n\t\t}\n\t\tsetMeta( next );\n\t};\n\n\t/**\n\t * 配列型メタデータの値をトグルする\n\t *\n\t * @param {string} key   メタキー\n\t * @param {string} value トグルする値\n\t */\n\tconst toggleArrayValue = ( key, value ) => {\n\t\tconst arr = Array.isArray( meta?.[ key ] ) ? [ ...meta[ key ] ] : [];\n\t\tconst idx = arr.indexOf( value );\n\t\tif ( idx >= 0 ) {\n\t\t\tarr.splice( idx, 1 );\n\t\t} else {\n\t\t\tarr.push( value );\n\t\t}\n\t\tupdate( key, arr );\n\t};\n\n\t/**\n\t * 配列型メタデータに値が含まれているか判定する\n\t *\n\t * @param {string} key   メタキー\n\t * @param {string} value 検索する値\n\t * @return {boolean} 値が含まれていればtrue\n\t */\n\tconst isInArray = ( key, value ) => {\n\t\treturn Array.isArray( meta?.[ key ] ) && meta[ key ].includes( value );\n\t};\n\n\t// ロゴ画像のIDとデータを取得\n\tconst logoId = meta?.vkjp_logo ? parseInt( meta.vkjp_logo, 10 ) : 0;\n\tconst logoImage = useSelect(\n\t\t( s ) => ( logoId ? s( 'core' ).getMedia( logoId ) : null ),\n\t\t[ logoId ]\n\t);\n\n\treturn (\n\t\t<PluginSidebar\n\t\t\tname=\"vgjpm-job-posting\"\n\t\t\ttitle={\n\t\t\t\ti18n.sidebarTitle ||\n\t\t\t\t'Google Job Posting Registration Information'\n\t\t\t}\n\t\t\ticon=\"businessman\"\n\t\t>\n\t\t\t{ /* Section 1: 求人情報 */ }\n\t\t\t<PanelBody\n\t\t\t\ttitle={ i18n.jobInfo || 'Job Information' }\n\t\t\t\tinitialOpen={ true }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ ( i18n.jobTitle || 'Job Title' ) + ' *' }\n\t\t\t\t\tvalue={ meta?.vkjp_title || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_title', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={\n\t\t\t\t\t\t( i18n.jobDescription || 'Job Description' ) + ' *'\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ meta?.vkjp_description || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_description', v ) }\n\t\t\t\t\trows={ 6 }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 2: 給与 */ }\n\t\t\t<PanelBody title={ i18n.salary || 'Salary' } initialOpen={ false }>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.minSalary || 'Minimum Salary' }\n\t\t\t\t\tvalue={ meta?.vkjp_minValue || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_minValue', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.maxSalary || 'Maximum Salary' }\n\t\t\t\t\tvalue={ meta?.vkjp_maxValue || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_maxValue', v ) }\n\t\t\t\t/>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ i18n.salaryCycle || 'Salary Cycle' }\n\t\t\t\t\tvalue={ meta?.vkjp_unitText || '' }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ value: '', label: '—' },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'HOUR',\n\t\t\t\t\t\t\tlabel: i18n.perHour || 'Per hour',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'DAY',\n\t\t\t\t\t\t\tlabel: i18n.perDay || 'Per Day',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'WEEK',\n\t\t\t\t\t\t\tlabel: i18n.perWeek || 'Per Week',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'MONTH',\n\t\t\t\t\t\t\tlabel: i18n.perMonth || 'Per month',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'YEAR',\n\t\t\t\t\t\t\tlabel: i18n.perYear || 'Per year',\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_unitText', v ) }\n\t\t\t\t/>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ i18n.currency || 'Currency' }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tmeta?.vkjp_currency ||\n\t\t\t\t\t\t( commonCurrency ? '' : defaultCurrency )\n\t\t\t\t\t}\n\t\t\t\t\toptions={ currencies }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_currency', v ) }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 3: 雇用 */ }\n\t\t\t<PanelBody\n\t\t\t\ttitle={ i18n.employment || 'Employment' }\n\t\t\t\tinitialOpen={ false }\n\t\t\t>\n\t\t\t\t<p style={ { marginTop: 0, marginBottom: '8px' } }>\n\t\t\t\t\t{ i18n.employmentType || 'Employment Type' }\n\t\t\t\t</p>\n\t\t\t\t{ employmentTypes.map( ( { value, label } ) => (\n\t\t\t\t\t<div key={ value } style={ { marginBottom: '8px' } }>\n\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tchecked={ isInArray(\n\t\t\t\t\t\t\t\t'vkjp_employmentType',\n\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\ttoggleArrayValue( 'vkjp_employmentType', value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) ) }\n\n\t\t\t\t<hr style={ { margin: '16px 0' } } />\n\n\t\t\t\t<div style={ { marginBottom: '8px' } }>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ i18n.telecommute || 'TELECOMMUTE' }\n\t\t\t\t\t\tchecked={ isInArray(\n\t\t\t\t\t\t\t'vkjp_jobLocationType',\n\t\t\t\t\t\t\t'TELECOMMUTE'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\ttoggleArrayValue(\n\t\t\t\t\t\t\t\t'vkjp_jobLocationType',\n\t\t\t\t\t\t\t\t'TELECOMMUTE'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={\n\t\t\t\t\t\ti18n.applicantLocationRequirements ||\n\t\t\t\t\t\t'Applicant Location Requirements'\n\t\t\t\t\t}\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tmeta?.vkjp_applicantLocationRequirements_name || ''\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( v ) =>\n\t\t\t\t\t\tupdate( 'vkjp_applicantLocationRequirements_name', v )\n\t\t\t\t\t}\n\t\t\t\t/>\n\n\t\t\t\t<div style={ { marginBottom: '8px' } }>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ i18n.directApply || 'Direct Apply' }\n\t\t\t\t\t\tchecked={ isInArray( 'vkjp_directApply', 'true' ) }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\ttoggleArrayValue( 'vkjp_directApply', 'true' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 4: 採用組織 */ }\n\t\t\t<PanelBody\n\t\t\t\ttitle={ i18n.hiringOrganization || 'Hiring Organization' }\n\t\t\t\tinitialOpen={ false }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={\n\t\t\t\t\t\t( i18n.organizationName || 'Organization Name' ) + ' *'\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ meta?.vkjp_name || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_name', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.organizationUrl || 'Organization URL' }\n\t\t\t\t\tvalue={ meta?.vkjp_sameAs || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_sameAs', v ) }\n\t\t\t\t\ttype=\"url\"\n\t\t\t\t/>\n\t\t\t\t<p style={ { marginTop: 0, marginBottom: '8px' } }>\n\t\t\t\t\t{ i18n.logo || 'Logo' }\n\t\t\t\t</p>\n\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\tupdate( 'vkjp_logo', String( media.id ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tallowedTypes={ [ 'image' ] }\n\t\t\t\t\t\tvalue={ logoId }\n\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t{ logoId > 0 && logoImage && (\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tsrc={ logoImage.source_url }\n\t\t\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\tmaxWidth: '100%',\n\t\t\t\t\t\t\t\t\t\t\theight: 'auto',\n\t\t\t\t\t\t\t\t\t\t\tmarginBottom: '8px',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\tgap: '8px',\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\tlogoId ? 'secondary' : 'primary'\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ logoId\n\t\t\t\t\t\t\t\t\t\t\t? i18n.changeImage || 'Change'\n\t\t\t\t\t\t\t\t\t\t\t: i18n.chooseImage ||\n\t\t\t\t\t\t\t\t\t\t\t  'Choose Image' }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ logoId > 0 && (\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tupdate( 'vkjp_logo', '' )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ i18n.removeImage || 'Remove' }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</MediaUploadCheck>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 5: 勤務地 */ }\n\t\t\t<PanelBody\n\t\t\t\ttitle={ i18n.workLocation || 'Work Location' }\n\t\t\t\tinitialOpen={ false }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.postalCode || 'Postal Code' }\n\t\t\t\t\tvalue={ meta?.vkjp_postalCode || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_postalCode', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.country || 'Country' }\n\t\t\t\t\tvalue={ meta?.vkjp_addressCountry || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_addressCountry', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.region || 'Region' }\n\t\t\t\t\tvalue={ meta?.vkjp_addressRegion || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_addressRegion', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.locality || 'Locality' }\n\t\t\t\t\tvalue={ meta?.vkjp_addressLocality || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_addressLocality', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.streetAddress || 'Street Address' }\n\t\t\t\t\tvalue={ meta?.vkjp_streetAddress || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_streetAddress', v ) }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 6: その他 */ }\n\t\t\t<PanelBody title={ i18n.other || 'Other' } initialOpen={ false }>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.validThrough || 'Valid Through' }\n\t\t\t\t\tvalue={ meta?.vkjp_validThrough || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_validThrough', v ) }\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.identifier || 'Identifier' }\n\t\t\t\t\tvalue={ meta?.vkjp_identifier || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_identifier', v ) }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</PluginSidebar>\n\t);\n};\n\nregisterPlugin( 'vgjpm-editor-panels', { render: JobPostingPanels } );\n"],"names":["module","exports","window","_arrayLikeToArray","r","a","length","e","n","Array","_arrayWithHoles","isArray","_arrayWithoutHoles","_defineProperty","t","Object","defineProperty","value","enumerable","configurable","writable","_iterableToArray","Symbol","iterator","from","_iterableToArrayLimit","l","i","u","f","o","call","next","done","push","_nonIterableRest","TypeError","_nonIterableSpread","_slicedToArray","_toConsumableArray","toPrimitive","String","Number","toPropertyKey","_typeof","constructor","prototype","_unsupportedIterableToArray","toString","slice","name","test","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","__esModule","d","definition","key","get","obj","prop","hasOwnProperty","data","vgjpmPanelData","i18n","currencies","defaultCurrency","commonCurrency","employmentTypes","label","fullTime","partTime","contractor","temporary","intern","volunteer","perDiem","otherType","JobPostingPanelsInner","_ref","postType","_useEntityProp","useEntityProp","_useEntityProp2","meta","setMeta","update","_objectSpread","vkjp_currency","toggleArrayValue","arr","idx","indexOf","splice","isInArray","includes","logoId","vkjp_logo","parseInt","logoImage","useSelect","s","getMedia","_jsxs","PluginSidebar","title","sidebarTitle","icon","children","PanelBody","jobInfo","initialOpen","_jsx","TextControl","jobTitle","vkjp_title","onChange","v","TextareaControl","jobDescription","vkjp_description","rows","salary","minSalary","vkjp_minValue","maxSalary","vkjp_maxValue","SelectControl","salaryCycle","vkjp_unitText","options","perHour","perDay","perWeek","perMonth","perYear","currency","employment","style","marginTop","marginBottom","employmentType","map","_ref2","CheckboxControl","__nextHasNoMarginBottom","checked","margin","telecommute","applicantLocationRequirements","vkjp_applicantLocationRequirements_name","directApply","hiringOrganization","organizationName","vkjp_name","organizationUrl","vkjp_sameAs","type","logo","MediaUploadCheck","MediaUpload","onSelect","media","id","allowedTypes","render","_ref3","open","src","source_url","alt","maxWidth","height","display","gap","Button","onClick","variant","changeImage","chooseImage","isDestructive","removeImage","workLocation","postalCode","vkjp_postalCode","country","vkjp_addressCountry","region","vkjp_addressRegion","locality","vkjp_addressLocality","streetAddress","vkjp_streetAddress","other","validThrough","vkjp_validThrough","identifier","vkjp_identifier","registerPlugin","getCurrentPostType"],"sourceRoot":""}
  • vk-google-job-posting-manager/tags/1.4.2/functions-tags.php

    r3785430 r3795535  
    99vgjpm_contains_object();
    1010vgjpm_use_common_values();
     11vgjpm_get_default_currency();
     12vgjpm_get_initial_currency();
    1113vgjpm_array_to_string();
    1214vgjpm_image_filter_id_to_url();
    … …  
    303305
    304306
     307/**
     308 * サイトの言語に対応する通貨コードの初期値を返す。
     309 * 対応表は ja → JPY のみ。他の言語は空文字(従来どおり)。
     310 * サイトの言語は get_locale() を使う(ユーザーのプロフィール言語ではない)。
     311 *
     312 * @param array $currency_options 選択肢(通貨コード => 通貨名。vgjpm_currency_options フィルター適用後のもの)。
     313 * @return string 通貨コード。対応が無い・選択肢に無い場合は空文字。
     314 */
     315function vgjpm_get_default_currency( $currency_options ) {
     316        // 言語コード(ja_JP → ja)に直し、対応表から引く。
     317        $locale   = get_locale();
     318        $language = strtolower( strtok( str_replace( '-', '_', $locale ), '_' ) );
     319
     320        /**
     321         * 言語から通貨コードの初期値を引く対応表。
     322         *
     323         * @param array $map 言語コード => 通貨コード。
     324         */
     325        $map = apply_filters( 'vgjpm_default_currency_map', array( 'ja' => 'JPY' ) );
     326
     327        if ( ! is_array( $map ) || empty( $map[ $language ] ) || ! is_string( $map[ $language ] ) ) {
     328                return '';
     329        }
     330        $currency = $map[ $language ];
     331
     332        // 選択肢に無い通貨は初期値にしない。
     333        if ( ! is_array( $currency_options ) || ! array_key_exists( $currency, $currency_options ) ) {
     334                return '';
     335        }
     336
     337        return $currency;
     338}
     339
     340/**
     341 * 投稿にも共通設定にも通貨が入っていないときだけ、初期選択する通貨コードを返す。
     342 * 保存済みの値がある場合は空文字を返し、既存の動作を変えない。
     343 *
     344 * @param mixed $post_currency   投稿に保存されている通貨(未保存は空文字・null)。
     345 * @param mixed $common_currency 共通設定に保存されている通貨(未保存は空文字・null)。
     346 * @param array $currency_options 選択肢(通貨コード => 通貨名)。
     347 * @return string 初期選択する通貨コード。該当しなければ空文字。
     348 */
     349function vgjpm_get_initial_currency( $post_currency, $common_currency, $currency_options ) {
     350        // どちらかに値があるときは何もしない(AED など保存済みの値を変えない)。
     351        if ( ! empty( $post_currency ) || ! empty( $common_currency ) ) {
     352                return '';
     353        }
     354
     355        return vgjpm_get_default_currency( $currency_options );
     356}
     357
     358
    305359function vgjpm_array_to_string( $custom_fields ) {
    306360        foreach ( $custom_fields as $key => $value ) {
  • vk-google-job-posting-manager/tags/1.4.2/inc/custom-field-builder/custom-field-builder-config.php

    r3511011 r3795535  
    6161                $befor_custom_fields = '';
    6262                $field_options = vgjpm_get_common_field_options();
     63
     64                // 投稿にも共通設定にも通貨が無いときだけ、言語に応じた初期値を選択状態にする。
     65                $post_currency    = get_post_meta( get_the_ID(), 'vkjp_currency', true );
     66                $common_currency  = isset( $field_options['vkjp_currency'] ) ? $field_options['vkjp_currency'] : '';
     67                $initial_currency = vgjpm_get_initial_currency( $post_currency, $common_currency, $custom_fields_array['vkjp_currency']['options'] );
     68                if ( '' !== $initial_currency ) {
     69                        $field_options['vkjp_currency'] = $initial_currency;
     70                }
     71
    6372                echo '<ul>';
    6473                echo '<li>' . esc_html__( 'Please fill in recruitment information for Google Job Posting.', 'vk-google-job-posting-manager' ) . '</li>';
  • vk-google-job-posting-manager/tags/1.4.2/inc/custom-field-builder/package/custom-field-builder.php

    r3706638 r3795535  
    1616        class VK_Custom_Field_Builder {
    1717
    18                 public static $version = '0.2.4';
     18                public static $version = '0.2.5';
    1919
    2020                // define( 'Bill_URL', get_template_directory_uri() );
    … …  
    125125                        if ( isset( $_POST['noncename__fields'] ) && null !== $posted_value ) {
    126126                                $noncename__fields = sanitize_text_field( wp_unslash( $_POST['noncename__fields'] ) );
    127                                 if ( ! wp_verify_nonce( $noncename__fields, wp_create_nonce( __FILE__ ) ) ) {
     127                                if ( ! wp_verify_nonce( $noncename__fields, 'vk_custom_field_builder' ) ) {
    128128                                        return $value;
    129129                                }
    … …  
    150150                public static function form_table( $custom_fields_array, $befor_items = '', $echo = true, $options = array() ) {
    151151
    152                         wp_nonce_field( wp_create_nonce( __FILE__ ), 'noncename__fields' );
     152                        // アクション名は save_cf_value() の wp_verify_nonce() と同じ固定文字列にすること。
     153                        // 時刻で変わる値をアクション名にすると、発行から 12 時間の区切りを跨いだ保存が通らなくなる.
     154                        wp_nonce_field( 'vk_custom_field_builder', 'noncename__fields' );
    153155
    154156                        global $post;
    … …  
    368370
    369371                        // nonce を確認し、値が書き換えられていれば、何もしない(CSRF対策)
    370                         if ( ! wp_verify_nonce( $noncename__fields, wp_create_nonce( __FILE__ ) ) ) {
     372                        if ( ! wp_verify_nonce( $noncename__fields, 'vk_custom_field_builder' ) ) {
    371373                                return;
    372374                        }
    … …  
    377379                        }
    378380
     381                        if ( ! $post instanceof WP_Post ) {
     382                                return;
     383                        }
     384
     385                        // 権限の確認(この投稿を編集できるユーザーだけが保存できる).
     386                        if ( ! current_user_can( 'edit_post', $post->ID ) ) {
     387                                return;
     388                        }
     389
    379390                        foreach ( $custom_fields_array as $key => $value ) {
    380391
    381                                 $field_value = null;
     392                                $field_value = '';
    382393                                // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Value is sanitized below.
    383394                                if ( isset( $_POST[ $key ] ) ) {
    … …  
    388399                                // データが空だったら入れる
    389400                                if ( get_post_meta( $post->ID, $key ) == '' ) {
    390                                         add_post_meta( $post->ID, $key, $field_value, true );
     401                                        add_post_meta( $post->ID, $key, wp_slash( $field_value ), true );
    391402                                        // 今入ってる値と違ってたらアップデートする
    392403                                } elseif ( $field_value != get_post_meta( $post->ID, $key, true ) ) {
    393                                         update_post_meta( $post->ID, $key, $field_value );
     404                                        update_post_meta( $post->ID, $key, wp_slash( $field_value ) );
    394405                                        // 入力がなかったら消す
    395406                                } elseif ( $field_value == '' ) {
    … …  
    399410                }
    400411
     412                /**
     413                 * 送信された値を、項目の種類(type)に合わせて整える.
     414                 *
     415                 * @param string|array $field_value  送信された値(チェックボックスは配列).
     416                 * @param array        $field_config 項目の設定(type などを持つ配列).
     417                 * @return string|array 整えた値(配列で送信された場合は配列).
     418                 */
    401419                private static function sanitize_field_value( $field_value, $field_config ) {
    402420                        if ( is_array( $field_value ) ) {
    … …  
    413431                                case 'url':
    414432                                        return esc_url_raw( $field_value );
     433                                case 'image':
     434                                        return self::sanitize_image_value( $field_value );
    415435                                default:
    416436                                        return sanitize_text_field( $field_value );
    417437                        }
     438                }
     439
     440                /**
     441                 * 画像フィールドの値を整える.
     442                 *
     443                 * 数値は添付 ID として、http / https の URL は esc_url_raw で整えて残し、それ以外は空文字にする.
     444                 * 投稿メタの登録(register_post_meta)の sanitize_callback からも呼ばれ、保存時に重ねて通るため、整えた値をもう一度通しても変わらないこと.
     445                 *
     446                 * @param mixed $value 整える値.
     447                 * @return string 添付 ID(正の整数の文字列)か URL. どちらでもなければ空文字.
     448                 */
     449                public static function sanitize_image_value( $value ) {
     450                        // 配列などの文字列にできない値は保存しない.
     451                        if ( ! is_scalar( $value ) ) {
     452                                return '';
     453                        }
     454
     455                        // 数値は添付 ID として保存する(0 は空).
     456                        if ( is_numeric( $value ) ) {
     457                                $image_id = absint( $value );
     458                                return $image_id ? (string) $image_id : '';
     459                        }
     460
     461                        return self::sanitize_image_url( $value );
     462                }
     463
     464                /**
     465                 * 画像フィールドに送信された、添付 ID ではない値を URL として整える.
     466                 *
     467                 * 画面から画像を選ぶと添付 ID が保存されるが、REST API やインポートで画像の URL を保存している投稿もある.
     468                 * その投稿を更新しても値が消えないよう、http / https の URL だけを残す.
     469                 *
     470                 * @param string $field_value 送信された値.
     471                 * @return string 整えた URL. http / https の URL でない値と、制御文字を含む値は空文字.
     472                 */
     473                private static function sanitize_image_url( $field_value ) {
     474                        $image_url = trim( (string) $field_value );
     475
     476                        // 制御文字を含む値は保存しない(esc_url_raw が取り除くため、検査した URL と保存される URL がずれる).
     477                        if ( preg_match( '/[\x00-\x1F\x7F]/', $image_url ) ) {
     478                                return '';
     479                        }
     480
     481                        // スキームが http / https で、ホスト名がある URL だけを受け付ける(javascript: や、ただの文字列は保存しない).
     482                        $url_parts = wp_parse_url( $image_url );
     483                        if ( ! is_array( $url_parts ) || empty( $url_parts['host'] ) || empty( $url_parts['scheme'] ) ) {
     484                                return '';
     485                        }
     486                        if ( ! in_array( strtolower( $url_parts['scheme'] ), array( 'http', 'https' ), true ) ) {
     487                                return '';
     488                        }
     489
     490                        // 整えたあとの URL にもホスト名が残っていることを確かめる(esc_url_raw が取り除く文字だけのホスト名は保存しない).
     491                        $sanitized_url   = esc_url_raw( $image_url, array( 'http', 'https' ) );
     492                        $sanitized_parts = wp_parse_url( $sanitized_url );
     493                        if ( ! is_array( $sanitized_parts ) || empty( $sanitized_parts['host'] ) ) {
     494                                return '';
     495                        }
     496
     497                        return $sanitized_url;
    418498                }
    419499
  • vk-google-job-posting-manager/tags/1.4.2/inc/custom-field-builder/package/custom-field-flexible-table.php

    r3449302 r3795535  
    1717class VK_Custom_Field_Builder_Flexible_Table {
    1818
    19         public static $version = '0.1.0';
     19        public static $version = '0.1.1';
    2020
    2121        /**
    … …  
    3232
    3333                $nonce_name = 'noncename__' . $custom_fields_array['field_name'];
    34                 wp_nonce_field( wp_create_nonce( __FILE__ ), $nonce_name );
     34                // アクション名は save_cf_value() の wp_verify_nonce() と同じ固定文字列にすること。
     35                // 時刻で変わる値をアクション名にすると、発行から 12 時間の区切りを跨いだ保存が通らなくなる.
     36                wp_nonce_field( 'vk_custom_field_flexible_table', $nonce_name );
    3537
    3638                global $post;
    … …  
    150152
    151153                // nonce を確認し、値が書き換えられていれば、何もしない(CSRF対策)
    152                 if ( ! wp_verify_nonce( $noncename__bill_fields, wp_create_nonce( __FILE__ ) ) ) {
     154                if ( ! wp_verify_nonce( $noncename__bill_fields, 'vk_custom_field_flexible_table' ) ) {
    153155                        return;
    154156                }
    … …  
    159161                }
    160162
     163                if ( ! $post instanceof WP_Post ) {
     164                        return;
     165                }
     166
     167                // 権限の確認(この投稿を編集できるユーザーだけが保存できる).
     168                if ( ! current_user_can( 'edit_post', $post->ID ) ) {
     169                        return;
     170                }
     171
    161172                $field       = $custom_fields_array['field_name'];
    162                 $field_value = null;
     173                $field_value = '';
    163174                // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Value is sanitized below.
    164175                if ( isset( $_POST[ $field ] ) ) {
    … …  
    174185                // データが空だったら入れる
    175186                if ( get_post_meta( $post->ID, $field ) == '' ) {
    176                         add_post_meta( $post->ID, $field, $field_value, true );
     187                        add_post_meta( $post->ID, $field, wp_slash( $field_value ), true );
    177188                        // 今入ってる値と違ってたらアップデートする
    178189                } elseif ( $field_value != get_post_meta( $post->ID, $field, true ) ) {
    179                         update_post_meta( $post->ID, $field, $field_value );
     190                        update_post_meta( $post->ID, $field, wp_slash( $field_value ) );
    180191                        // 入力がなかったら消す
    181192                } elseif ( $field_value == '' ) {
  • vk-google-job-posting-manager/tags/1.4.2/inc/editor-panel.php

    r3785430 r3795535  
    9191                'vkjp_name',
    9292                'vkjp_sameAs',
    93                 'vkjp_logo',
    9493                'vkjp_postalCode',
    9594                'vkjp_addressCountry',
    … …  
    113112                'vkjp_directApply',
    114113        );
     114
     115        // 会社ロゴは、クラシックエディターの画像欄と同じ規則(添付 ID か http / https の URL)で整える。
     116        // update_post_meta() の中でも走るため、sanitize_text_field だと URL の「%20」などが消える。
     117        // 他のプラグインが、このメソッドの無い古いクラスを先に読み込んでいる場合は、従来の整え方にする。
     118        // The logo uses the same rule as the image field of the classic editor (attachment ID or http / https URL).
     119        // sanitize_text_field would remove "%20" and other percent-encoded characters from URLs, because the callback also runs inside update_post_meta().
     120        // Another plugin may have loaded an older copy of the class without this method, so fall back to the previous callback in that case.
     121        $logo_sanitize_callback = method_exists( 'VK_Custom_Field_Builder', 'sanitize_image_value' )
     122                ? array( 'VK_Custom_Field_Builder', 'sanitize_image_value' )
     123                : 'sanitize_text_field';
    115124
    116125        foreach ( $post_types as $post_type ) {
    … …  
    134143                        );
    135144                }
     145
     146                // 会社ロゴを、画像欄と同じ規則で登録する。
     147                // Register the logo field with the same rule as the image field.
     148                register_post_meta(
     149                        $post_type,
     150                        'vkjp_logo',
     151                        array(
     152                                'type'              => 'string',
     153                                'single'            => true,
     154                                'show_in_rest'      => true,
     155                                'sanitize_callback' => $logo_sanitize_callback,
     156                                'auth_callback'     => $auth_callback,
     157                        )
     158                );
    136159
    137160                // Register description field with wp_kses_post sanitizer.
    … …  
    288311                        'value' => $c['alpha3'],
    289312                        'label' => $c['name'],
     313                );
     314        }
     315
     316        // 通貨が未設定のときの初期値(言語に対応する通貨)と、共通設定の通貨。
     317        // Default currency for unset state, and the common-settings currency.
     318        $currency_map = array();
     319        foreach ( $currencies as $c ) {
     320                $currency_map[ $c['value'] ] = $c['label'];
     321        }
     322        $common_options   = vgjpm_get_common_field_options();
     323        $common_currency  = isset( $common_options['vkjp_currency'] ) && is_string( $common_options['vkjp_currency'] ) ? $common_options['vkjp_currency'] : '';
     324        $default_currency = vgjpm_get_default_currency( apply_filters( 'vgjpm_currency_options', $currency_map ) );
     325
     326        // Add an empty choice when an unset currency is shown as empty; without it, the first currency (UAE Dirham) is shown although nothing is saved.
     327        // It is not added when the language default (JPY) is shown, because choosing it would switch back to JPY.
     328        // Keep this condition in line with the shown value in src/editor-panel/index.js ( commonCurrency ? '' : defaultCurrency ).
     329        // 未設定の通貨を空として表示する場合だけ、空の選択肢を足す(無いと、何も保存されていないのに先頭の通貨 UAE Dirham が表示される)。
     330        // 言語に応じた初期値(JPY)を表示する場合は足さない(選んでも JPY の表示に戻るため)。
     331        // この条件は src/editor-panel/index.js の表示値の式(commonCurrency ? '' : defaultCurrency)とそろえること。
     332        if ( '' !== $common_currency || '' === $default_currency ) {
     333                array_unshift(
     334                        $currencies,
     335                        array(
     336                                'value' => '',
     337                                'label' => '—',
     338                        )
    290339                );
    291340        }
    … …  
    348397                        ),
    349398                        'currencies' => $currencies,
     399                        'defaultCurrency' => $default_currency,
     400                        'commonCurrency'  => $common_currency,
    350401                )
    351402        );
  • vk-google-job-posting-manager/tags/1.4.2/readme.txt

    r3785430 r3795535  
    55Requires at least: 6.7
    66Tested up to: 7.1
    7 Stable tag: 1.4.1
     7Stable tag: 1.4.2
    88Requires PHP: 7.4
    99License: GPLv2 or later
    … …  
    4747== Changelog ==
    4848
     49= 1.4.2 =
     50[ Spec Change ] On Japanese sites, the currency field now defaults to Japanese Yen instead of UAE Dirham when no currency has been set.
     51[ Bug Fix ] Fixed an issue where the Job Posting sidebar panel in the block editor showed UAE Dirham as the currency even when no currency was set.
     52[ Bug Fix ] Fixed an issue where backslashes in custom field values were removed when saving from the classic editor.
     53[ Bug Fix ] Fixed an issue where image fields in the job posting fields could save values other than an attachment ID or an image URL, and where characters such as "%20" were removed from image URLs.
     54[ Bug Fix ] Fixed a PHP 8.1 warning shown when saving custom fields that were not submitted.
     55[ Security Fix ] Added a permission check when saving job posting fields from the editor.
    4956= 1.4.1 =
    5057[ Bug Fix ] Fixed an issue where the Job Posting sidebar panel showed empty fields for existing posts of custom post types registered by other plugins or themes.
  • vk-google-job-posting-manager/tags/1.4.2/vendor/composer/installed.php

    r3785430 r3795535  
    22    'root' => array(
    33        'name' => 'vektor/vk-google-job-posting-manager',
    4         'pretty_version' => '1.4.1',
    5         'version' => '1.4.1.0',
    6         'reference' => '8c74af95e1c773772aa18e071a830a4f3ab4a1fc',
     4        'pretty_version' => '1.4.2',
     5        'version' => '1.4.2.0',
     6        'reference' => '8b4de17b4b6d5f3c421f970a30912f818c23afe8',
    77        'type' => 'library',
    88        'install_path' => __DIR__ . '/../../',
    … …  
    2121        ),
    2222        'vektor/vk-google-job-posting-manager' => array(
    23             'pretty_version' => '1.4.1',
    24             'version' => '1.4.1.0',
    25             'reference' => '8c74af95e1c773772aa18e071a830a4f3ab4a1fc',
     23            'pretty_version' => '1.4.2',
     24            'version' => '1.4.2.0',
     25            'reference' => '8b4de17b4b6d5f3c421f970a30912f818c23afe8',
    2626            'type' => 'library',
    2727            'install_path' => __DIR__ . '/../../',
  • vk-google-job-posting-manager/tags/1.4.2/vk-google-job-posting-manager.php

    r3785430 r3795535  
    88 * Text Domain:     vk-google-job-posting-manager
    99 * Domain Path:     /languages
    10  * Version:         1.4.1
     10 * Version:         1.4.2
    1111 * Requires at least: 6.7
    1212 * License:         GPLv2 or later
    … …  
    314314
    315315                                $saved = isset( $options[ $key ] ) ? $options[ $key ] : '';
     316
     317                                // 通貨が未保存のときだけ、言語に応じた初期値を選択状態にする。
     318                                if ( 'vkjp_currency' === $key && empty( $saved ) ) {
     319                                        $saved = vgjpm_get_initial_currency( '', $saved, $value['options'] );
     320                                }
    316321
    317322                                if ( $saved == $option_value ) {
  • vk-google-job-posting-manager/trunk/build/editor-panel/index.asset.php

    r3785430 r3795535  
    99                'wp-plugins'
    1010        ),
    11         'version' => 'ef9ad26f6fb13ab6081b'
     11        'version' => 'e19ad67c40cde1ee2d5e'
    1212);
  • vk-google-job-posting-manager/trunk/build/editor-panel/index.js

    r3706638 r3795535  
    1 !function(){"use strict";var e={790:function(e){e.exports=window.ReactJSXRuntime},715:function(e){e.exports=window.wp.blockEditor},427:function(e){e.exports=window.wp.components},582:function(e){e.exports=window.wp.coreData},143:function(e){e.exports=window.wp.data},656:function(e){e.exports=window.wp.editor},279:function(e){e.exports=window.wp.plugins},145:function(e,n,t){function r(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}t.d(n,{A:function(){return r}})},369:function(e,n,t){function r(e){if(Array.isArray(e))return e}t.d(n,{A:function(){return r}})},243:function(e,n,t){t.d(n,{A:function(){return o}});var r=t(145);function o(e){if(Array.isArray(e))return(0,r.A)(e)}},467:function(e,n,t){t.d(n,{A:function(){return o}});var r=t(922);function o(e,n,t){return(n=(0,r.A)(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}},893:function(e,n,t){function r(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}t.d(n,{A:function(){return r}})},986:function(e,n,t){function r(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,i,l,a=[],u=!0,c=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=i.call(t)).done)&&(a.push(r.value),a.length!==n);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=t.return&&(l=t.return(),Object(l)!==l))return}finally{if(c)throw o}}return a}}t.d(n,{A:function(){return r}})},562:function(e,n,t){function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}t.d(n,{A:function(){return r}})},519:function(e,n,t){function r(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}t.d(n,{A:function(){return r}})},453:function(e,n,t){t.d(n,{A:function(){return a}});var r=t(369),o=t(986),i=t(800),l=t(562);function a(e,n){return(0,r.A)(e)||(0,o.A)(e,n)||(0,i.A)(e,n)||(0,l.A)()}},394:function(e,n,t){t.d(n,{A:function(){return a}});var r=t(243),o=t(893),i=t(800),l=t(519);function a(e){return(0,r.A)(e)||(0,o.A)(e)||(0,i.A)(e)||(0,l.A)()}},327:function(e,n,t){t.d(n,{A:function(){return o}});var r=t(284);function o(e,n){if("object"!=(0,r.A)(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=(0,r.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}},922:function(e,n,t){t.d(n,{A:function(){return i}});var r=t(284),o=t(327);function i(e){var n=(0,o.A)(e,"string");return"symbol"==(0,r.A)(n)?n:n+""}},284:function(e,n,t){function r(e){return r="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},r(e)}t.d(n,{A:function(){return r}})},800:function(e,n,t){t.d(n,{A:function(){return o}});var r=t(145);function o(e,n){if(e){if("string"==typeof e)return(0,r.A)(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?(0,r.A)(e,n):void 0}}}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var i=n[r]={exports:{}};return e[r](i,i.exports,t),i.exports}t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,{a:n}),n},t.d=function(e,n){for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)};var r=t(394),o=t(467),i=t(453),l=t(279),a=t(656),u=t(427),c=t(143),p=t(582),s=t(715),d=t(790);function v(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function f(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?v(Object(t),!0).forEach(function(n){(0,o.A)(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):v(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var y=window.vgjpmPanelData||{},m=y.i18n||{},j=y.currencies||[],b=[{value:"FULL_TIME",label:m.fullTime||"FULL TIME"},{value:"PART_TIME",label:m.partTime||"PART TIME"},{value:"CONTRACTOR",label:m.contractor||"CONTRACTOR"},{value:"TEMPORARY",label:m.temporary||"TEMPORARY"},{value:"INTERN",label:m.intern||"INTERN"},{value:"VOLUNTEER",label:m.volunteer||"VOLUNTEER"},{value:"PER_DIEM",label:m.perDiem||"PER DIEM"},{value:"OTHER",label:m.otherType||"OTHER"}],g=function(e){var n=e.postType,t=(0,p.useEntityProp)("postType",n,"meta"),l=(0,i.A)(t,2),v=l[0],y=l[1],g=function(e,n){return y(f(f({},v),{},(0,o.A)({},e,n)))},x=function(e,n){var t=Array.isArray(null==v?void 0:v[e])?(0,r.A)(v[e]):[],o=t.indexOf(n);o>=0?t.splice(o,1):t.push(n),g(e,t)},h=function(e,n){return Array.isArray(null==v?void 0:v[e])&&v[e].includes(n)},T=null!=v&&v.vkjp_logo?parseInt(v.vkjp_logo,10):0,A=(0,c.useSelect)(function(e){return T?e("core").getMedia(T):null},[T]);return(0,d.jsxs)(a.PluginSidebar,{name:"vgjpm-job-posting",title:m.sidebarTitle||"Google Job Posting Registration Information",icon:"businessman",children:[(0,d.jsxs)(u.PanelBody,{title:m.jobInfo||"Job Information",initialOpen:!0,children:[(0,d.jsx)(u.TextControl,{label:(m.jobTitle||"Job Title")+" *",value:(null==v?void 0:v.vkjp_title)||"",onChange:function(e){return g("vkjp_title",e)}}),(0,d.jsx)(u.TextareaControl,{label:(m.jobDescription||"Job Description")+" *",value:(null==v?void 0:v.vkjp_description)||"",onChange:function(e){return g("vkjp_description",e)},rows:6})]}),(0,d.jsxs)(u.PanelBody,{title:m.salary||"Salary",initialOpen:!1,children:[(0,d.jsx)(u.TextControl,{label:m.minSalary||"Minimum Salary",value:(null==v?void 0:v.vkjp_minValue)||"",onChange:function(e){return g("vkjp_minValue",e)}}),(0,d.jsx)(u.TextControl,{label:m.maxSalary||"Maximum Salary",value:(null==v?void 0:v.vkjp_maxValue)||"",onChange:function(e){return g("vkjp_maxValue",e)}}),(0,d.jsx)(u.SelectControl,{label:m.salaryCycle||"Salary Cycle",value:(null==v?void 0:v.vkjp_unitText)||"",options:[{value:"",label:"—"},{value:"HOUR",label:m.perHour||"Per hour"},{value:"DAY",label:m.perDay||"Per Day"},{value:"WEEK",label:m.perWeek||"Per Week"},{value:"MONTH",label:m.perMonth||"Per month"},{value:"YEAR",label:m.perYear||"Per year"}],onChange:function(e){return g("vkjp_unitText",e)}}),(0,d.jsx)(u.SelectControl,{label:m.currency||"Currency",value:(null==v?void 0:v.vkjp_currency)||"",options:j,onChange:function(e){return g("vkjp_currency",e)}})]}),(0,d.jsxs)(u.PanelBody,{title:m.employment||"Employment",initialOpen:!1,children:[(0,d.jsx)("p",{style:{marginTop:0,marginBottom:"8px"},children:m.employmentType||"Employment Type"}),b.map(function(e){var n=e.value,t=e.label;return(0,d.jsx)("div",{style:{marginBottom:"8px"},children:(0,d.jsx)(u.CheckboxControl,{__nextHasNoMarginBottom:!0,label:t,checked:h("vkjp_employmentType",n),onChange:function(){return x("vkjp_employmentType",n)}})},n)}),(0,d.jsx)("hr",{style:{margin:"16px 0"}}),(0,d.jsx)("div",{style:{marginBottom:"8px"},children:(0,d.jsx)(u.CheckboxControl,{__nextHasNoMarginBottom:!0,label:m.telecommute||"TELECOMMUTE",checked:h("vkjp_jobLocationType","TELECOMMUTE"),onChange:function(){return x("vkjp_jobLocationType","TELECOMMUTE")}})}),(0,d.jsx)(u.TextControl,{label:m.applicantLocationRequirements||"Applicant Location Requirements",value:(null==v?void 0:v.vkjp_applicantLocationRequirements_name)||"",onChange:function(e){return g("vkjp_applicantLocationRequirements_name",e)}}),(0,d.jsx)("div",{style:{marginBottom:"8px"},children:(0,d.jsx)(u.CheckboxControl,{__nextHasNoMarginBottom:!0,label:m.directApply||"Direct Apply",checked:h("vkjp_directApply","true"),onChange:function(){return x("vkjp_directApply","true")}})})]}),(0,d.jsxs)(u.PanelBody,{title:m.hiringOrganization||"Hiring Organization",initialOpen:!1,children:[(0,d.jsx)(u.TextControl,{label:(m.organizationName||"Organization Name")+" *",value:(null==v?void 0:v.vkjp_name)||"",onChange:function(e){return g("vkjp_name",e)}}),(0,d.jsx)(u.TextControl,{label:m.organizationUrl||"Organization URL",value:(null==v?void 0:v.vkjp_sameAs)||"",onChange:function(e){return g("vkjp_sameAs",e)},type:"url"}),(0,d.jsx)("p",{style:{marginTop:0,marginBottom:"8px"},children:m.logo||"Logo"}),(0,d.jsx)(s.MediaUploadCheck,{children:(0,d.jsx)(s.MediaUpload,{onSelect:function(e){return g("vkjp_logo",String(e.id))},allowedTypes:["image"],value:T,render:function(e){var n=e.open;return(0,d.jsxs)("div",{children:[T>0&&A&&(0,d.jsx)("img",{src:A.source_url,alt:"",style:{maxWidth:"100%",height:"auto",marginBottom:"8px"}}),(0,d.jsxs)("div",{style:{display:"flex",gap:"8px"},children:[(0,d.jsx)(u.Button,{onClick:n,variant:T?"secondary":"primary",children:T?m.changeImage||"Change":m.chooseImage||"Choose Image"}),T>0&&(0,d.jsx)(u.Button,{onClick:function(){return g("vkjp_logo","")},isDestructive:!0,variant:"tertiary",children:m.removeImage||"Remove"})]})]})}})})]}),(0,d.jsxs)(u.PanelBody,{title:m.workLocation||"Work Location",initialOpen:!1,children:[(0,d.jsx)(u.TextControl,{label:m.postalCode||"Postal Code",value:(null==v?void 0:v.vkjp_postalCode)||"",onChange:function(e){return g("vkjp_postalCode",e)}}),(0,d.jsx)(u.TextControl,{label:m.country||"Country",value:(null==v?void 0:v.vkjp_addressCountry)||"",onChange:function(e){return g("vkjp_addressCountry",e)}}),(0,d.jsx)(u.TextControl,{label:m.region||"Region",value:(null==v?void 0:v.vkjp_addressRegion)||"",onChange:function(e){return g("vkjp_addressRegion",e)}}),(0,d.jsx)(u.TextControl,{label:m.locality||"Locality",value:(null==v?void 0:v.vkjp_addressLocality)||"",onChange:function(e){return g("vkjp_addressLocality",e)}}),(0,d.jsx)(u.TextControl,{label:m.streetAddress||"Street Address",value:(null==v?void 0:v.vkjp_streetAddress)||"",onChange:function(e){return g("vkjp_streetAddress",e)}})]}),(0,d.jsxs)(u.PanelBody,{title:m.other||"Other",initialOpen:!1,children:[(0,d.jsx)(u.TextControl,{label:m.validThrough||"Valid Through",value:(null==v?void 0:v.vkjp_validThrough)||"",onChange:function(e){return g("vkjp_validThrough",e)},type:"date"}),(0,d.jsx)(u.TextControl,{label:m.identifier||"Identifier",value:(null==v?void 0:v.vkjp_identifier)||"",onChange:function(e){return g("vkjp_identifier",e)}})]})]})};(0,l.registerPlugin)("vgjpm-editor-panels",{render:function(){var e=(0,c.useSelect)(function(e){return e("core/editor").getCurrentPostType()},[]);return e?(0,d.jsx)(g,{postType:e}):null}})}();
     1!function(){"use strict";var e={790:function(e){e.exports=window.ReactJSXRuntime},715:function(e){e.exports=window.wp.blockEditor},427:function(e){e.exports=window.wp.components},582:function(e){e.exports=window.wp.coreData},143:function(e){e.exports=window.wp.data},656:function(e){e.exports=window.wp.editor},279:function(e){e.exports=window.wp.plugins},145:function(e,n,t){function r(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}t.d(n,{A:function(){return r}})},369:function(e,n,t){function r(e){if(Array.isArray(e))return e}t.d(n,{A:function(){return r}})},243:function(e,n,t){t.d(n,{A:function(){return o}});var r=t(145);function o(e){if(Array.isArray(e))return(0,r.A)(e)}},467:function(e,n,t){t.d(n,{A:function(){return o}});var r=t(922);function o(e,n,t){return(n=(0,r.A)(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}},893:function(e,n,t){function r(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}t.d(n,{A:function(){return r}})},986:function(e,n,t){function r(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,i,l,a=[],u=!0,c=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=i.call(t)).done)&&(a.push(r.value),a.length!==n);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=t.return&&(l=t.return(),Object(l)!==l))return}finally{if(c)throw o}}return a}}t.d(n,{A:function(){return r}})},562:function(e,n,t){function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}t.d(n,{A:function(){return r}})},519:function(e,n,t){function r(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}t.d(n,{A:function(){return r}})},453:function(e,n,t){t.d(n,{A:function(){return a}});var r=t(369),o=t(986),i=t(800),l=t(562);function a(e,n){return(0,r.A)(e)||(0,o.A)(e,n)||(0,i.A)(e,n)||(0,l.A)()}},394:function(e,n,t){t.d(n,{A:function(){return a}});var r=t(243),o=t(893),i=t(800),l=t(519);function a(e){return(0,r.A)(e)||(0,o.A)(e)||(0,i.A)(e)||(0,l.A)()}},327:function(e,n,t){t.d(n,{A:function(){return o}});var r=t(284);function o(e,n){if("object"!=(0,r.A)(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=(0,r.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}},922:function(e,n,t){t.d(n,{A:function(){return i}});var r=t(284),o=t(327);function i(e){var n=(0,o.A)(e,"string");return"symbol"==(0,r.A)(n)?n:n+""}},284:function(e,n,t){function r(e){return r="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},r(e)}t.d(n,{A:function(){return r}})},800:function(e,n,t){t.d(n,{A:function(){return o}});var r=t(145);function o(e,n){if(e){if("string"==typeof e)return(0,r.A)(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?(0,r.A)(e,n):void 0}}}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var i=n[r]={exports:{}};return e[r](i,i.exports,t),i.exports}t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,{a:n}),n},t.d=function(e,n){for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)};var r=t(394),o=t(467),i=t(453),l=t(279),a=t(656),u=t(427),c=t(143),p=t(582),s=t(715),d=t(790);function v(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function f(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?v(Object(t),!0).forEach(function(n){(0,o.A)(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):v(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var y=window.vgjpmPanelData||{},m=y.i18n||{},j=y.currencies||[],b=y.defaultCurrency||"",g=y.commonCurrency||"",x=[{value:"FULL_TIME",label:m.fullTime||"FULL TIME"},{value:"PART_TIME",label:m.partTime||"PART TIME"},{value:"CONTRACTOR",label:m.contractor||"CONTRACTOR"},{value:"TEMPORARY",label:m.temporary||"TEMPORARY"},{value:"INTERN",label:m.intern||"INTERN"},{value:"VOLUNTEER",label:m.volunteer||"VOLUNTEER"},{value:"PER_DIEM",label:m.perDiem||"PER DIEM"},{value:"OTHER",label:m.otherType||"OTHER"}],h=function(e){var n=e.postType,t=(0,p.useEntityProp)("postType",n,"meta"),l=(0,i.A)(t,2),v=l[0],y=l[1],h=function(e,n){var t=f(f({},v),{},(0,o.A)({},e,n));"vkjp_currency"===e||!b||null!=v&&v.vkjp_currency||g||(t.vkjp_currency=b),y(t)},C=function(e,n){var t=Array.isArray(null==v?void 0:v[e])?(0,r.A)(v[e]):[],o=t.indexOf(n);o>=0?t.splice(o,1):t.push(n),h(e,t)},T=function(e,n){return Array.isArray(null==v?void 0:v[e])&&v[e].includes(n)},A=null!=v&&v.vkjp_logo?parseInt(v.vkjp_logo,10):0,k=(0,c.useSelect)(function(e){return A?e("core").getMedia(A):null},[A]);return(0,d.jsxs)(a.PluginSidebar,{name:"vgjpm-job-posting",title:m.sidebarTitle||"Google Job Posting Registration Information",icon:"businessman",children:[(0,d.jsxs)(u.PanelBody,{title:m.jobInfo||"Job Information",initialOpen:!0,children:[(0,d.jsx)(u.TextControl,{label:(m.jobTitle||"Job Title")+" *",value:(null==v?void 0:v.vkjp_title)||"",onChange:function(e){return h("vkjp_title",e)}}),(0,d.jsx)(u.TextareaControl,{label:(m.jobDescription||"Job Description")+" *",value:(null==v?void 0:v.vkjp_description)||"",onChange:function(e){return h("vkjp_description",e)},rows:6})]}),(0,d.jsxs)(u.PanelBody,{title:m.salary||"Salary",initialOpen:!1,children:[(0,d.jsx)(u.TextControl,{label:m.minSalary||"Minimum Salary",value:(null==v?void 0:v.vkjp_minValue)||"",onChange:function(e){return h("vkjp_minValue",e)}}),(0,d.jsx)(u.TextControl,{label:m.maxSalary||"Maximum Salary",value:(null==v?void 0:v.vkjp_maxValue)||"",onChange:function(e){return h("vkjp_maxValue",e)}}),(0,d.jsx)(u.SelectControl,{label:m.salaryCycle||"Salary Cycle",value:(null==v?void 0:v.vkjp_unitText)||"",options:[{value:"",label:"—"},{value:"HOUR",label:m.perHour||"Per hour"},{value:"DAY",label:m.perDay||"Per Day"},{value:"WEEK",label:m.perWeek||"Per Week"},{value:"MONTH",label:m.perMonth||"Per month"},{value:"YEAR",label:m.perYear||"Per year"}],onChange:function(e){return h("vkjp_unitText",e)}}),(0,d.jsx)(u.SelectControl,{label:m.currency||"Currency",value:(null==v?void 0:v.vkjp_currency)||(g?"":b),options:j,onChange:function(e){return h("vkjp_currency",e)}})]}),(0,d.jsxs)(u.PanelBody,{title:m.employment||"Employment",initialOpen:!1,children:[(0,d.jsx)("p",{style:{marginTop:0,marginBottom:"8px"},children:m.employmentType||"Employment Type"}),x.map(function(e){var n=e.value,t=e.label;return(0,d.jsx)("div",{style:{marginBottom:"8px"},children:(0,d.jsx)(u.CheckboxControl,{__nextHasNoMarginBottom:!0,label:t,checked:T("vkjp_employmentType",n),onChange:function(){return C("vkjp_employmentType",n)}})},n)}),(0,d.jsx)("hr",{style:{margin:"16px 0"}}),(0,d.jsx)("div",{style:{marginBottom:"8px"},children:(0,d.jsx)(u.CheckboxControl,{__nextHasNoMarginBottom:!0,label:m.telecommute||"TELECOMMUTE",checked:T("vkjp_jobLocationType","TELECOMMUTE"),onChange:function(){return C("vkjp_jobLocationType","TELECOMMUTE")}})}),(0,d.jsx)(u.TextControl,{label:m.applicantLocationRequirements||"Applicant Location Requirements",value:(null==v?void 0:v.vkjp_applicantLocationRequirements_name)||"",onChange:function(e){return h("vkjp_applicantLocationRequirements_name",e)}}),(0,d.jsx)("div",{style:{marginBottom:"8px"},children:(0,d.jsx)(u.CheckboxControl,{__nextHasNoMarginBottom:!0,label:m.directApply||"Direct Apply",checked:T("vkjp_directApply","true"),onChange:function(){return C("vkjp_directApply","true")}})})]}),(0,d.jsxs)(u.PanelBody,{title:m.hiringOrganization||"Hiring Organization",initialOpen:!1,children:[(0,d.jsx)(u.TextControl,{label:(m.organizationName||"Organization Name")+" *",value:(null==v?void 0:v.vkjp_name)||"",onChange:function(e){return h("vkjp_name",e)}}),(0,d.jsx)(u.TextControl,{label:m.organizationUrl||"Organization URL",value:(null==v?void 0:v.vkjp_sameAs)||"",onChange:function(e){return h("vkjp_sameAs",e)},type:"url"}),(0,d.jsx)("p",{style:{marginTop:0,marginBottom:"8px"},children:m.logo||"Logo"}),(0,d.jsx)(s.MediaUploadCheck,{children:(0,d.jsx)(s.MediaUpload,{onSelect:function(e){return h("vkjp_logo",String(e.id))},allowedTypes:["image"],value:A,render:function(e){var n=e.open;return(0,d.jsxs)("div",{children:[A>0&&k&&(0,d.jsx)("img",{src:k.source_url,alt:"",style:{maxWidth:"100%",height:"auto",marginBottom:"8px"}}),(0,d.jsxs)("div",{style:{display:"flex",gap:"8px"},children:[(0,d.jsx)(u.Button,{onClick:n,variant:A?"secondary":"primary",children:A?m.changeImage||"Change":m.chooseImage||"Choose Image"}),A>0&&(0,d.jsx)(u.Button,{onClick:function(){return h("vkjp_logo","")},isDestructive:!0,variant:"tertiary",children:m.removeImage||"Remove"})]})]})}})})]}),(0,d.jsxs)(u.PanelBody,{title:m.workLocation||"Work Location",initialOpen:!1,children:[(0,d.jsx)(u.TextControl,{label:m.postalCode||"Postal Code",value:(null==v?void 0:v.vkjp_postalCode)||"",onChange:function(e){return h("vkjp_postalCode",e)}}),(0,d.jsx)(u.TextControl,{label:m.country||"Country",value:(null==v?void 0:v.vkjp_addressCountry)||"",onChange:function(e){return h("vkjp_addressCountry",e)}}),(0,d.jsx)(u.TextControl,{label:m.region||"Region",value:(null==v?void 0:v.vkjp_addressRegion)||"",onChange:function(e){return h("vkjp_addressRegion",e)}}),(0,d.jsx)(u.TextControl,{label:m.locality||"Locality",value:(null==v?void 0:v.vkjp_addressLocality)||"",onChange:function(e){return h("vkjp_addressLocality",e)}}),(0,d.jsx)(u.TextControl,{label:m.streetAddress||"Street Address",value:(null==v?void 0:v.vkjp_streetAddress)||"",onChange:function(e){return h("vkjp_streetAddress",e)}})]}),(0,d.jsxs)(u.PanelBody,{title:m.other||"Other",initialOpen:!1,children:[(0,d.jsx)(u.TextControl,{label:m.validThrough||"Valid Through",value:(null==v?void 0:v.vkjp_validThrough)||"",onChange:function(e){return h("vkjp_validThrough",e)},type:"date"}),(0,d.jsx)(u.TextControl,{label:m.identifier||"Identifier",value:(null==v?void 0:v.vkjp_identifier)||"",onChange:function(e){return h("vkjp_identifier",e)}})]})]})};(0,l.registerPlugin)("vgjpm-editor-panels",{render:function(){var e=(0,c.useSelect)(function(e){return e("core/editor").getCurrentPostType()},[]);return e?(0,d.jsx)(h,{postType:e}):null}})}();
    22//# sourceMappingURL=index.js.map
  • vk-google-job-posting-manager/trunk/build/editor-panel/index.js.map

    r3706638 r3795535  
    1 {"version":3,"file":"index.js","mappings":"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","sources":["webpack://vk-google-job-posting-manager/external window \"ReactJSXRuntime\"","webpack://vk-google-job-posting-manager/external window [\"wp\",\"blockEditor\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"components\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"coreData\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"data\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"editor\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"plugins\"]","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://vk-google-job-posting-manager/webpack/bootstrap","webpack://vk-google-job-posting-manager/webpack/runtime/compat get default export","webpack://vk-google-job-posting-manager/webpack/runtime/define property getters","webpack://vk-google-job-posting-manager/webpack/runtime/hasOwnProperty shorthand","webpack://vk-google-job-posting-manager/./src/editor-panel/index.js"],"sourcesContent":["module.exports = window[\"ReactJSXRuntime\"];","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"coreData\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"editor\"];","module.exports = window[\"wp\"][\"plugins\"];","function _arrayLikeToArray(r, a) {\n  (null == a || a > r.length) && (a = r.length);\n  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n  return n;\n}\nexport { _arrayLikeToArray as default };","function _arrayWithHoles(r) {\n  if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n  if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _iterableToArray(r) {\n  if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _iterableToArrayLimit(r, l) {\n  var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n  if (null != t) {\n    var e,\n      n,\n      i,\n      u,\n      a = [],\n      f = !0,\n      o = !1;\n    try {\n      if (i = (t = t.call(r)).next, 0 === l) {\n        if (Object(t) !== t) return;\n        f = !1;\n      } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n    } catch (r) {\n      o = !0, n = r;\n    } finally {\n      try {\n        if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n      } finally {\n        if (o) throw n;\n      }\n    }\n    return a;\n  }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","function _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n  return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n  return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n  if (r) {\n    if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n    var t = {}.toString.call(r).slice(8, -1);\n    return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n  }\n}\nexport { _unsupportedIterableToArray as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter/value functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); };","/**\n * VK Google Job Posting Manager - Editor Panel\n *\n * ブロックエディタのサイドバーに求人情報入力パネルを追加する。\n * PluginSidebar を使い、ツールバーに専用アイコンを表示。\n * 各セクションは PanelBody で折りたたみ可能。\n */\n\nimport { registerPlugin } from '@wordpress/plugins';\nimport { PluginSidebar } from '@wordpress/editor';\nimport {\n\tCheckboxControl,\n\tTextControl,\n\tTextareaControl,\n\tSelectControl,\n\tButton,\n\tPanelBody,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { MediaUpload, MediaUploadCheck } from '@wordpress/block-editor';\n\n// ローカライズデータとi18n文字列を取得\nconst data = window.vgjpmPanelData || {};\nconst i18n = data.i18n || {};\nconst currencies = data.currencies || [];\n\n// 雇用形態の選択肢一覧\nconst employmentTypes = [\n\t{ value: 'FULL_TIME', label: i18n.fullTime || 'FULL TIME' },\n\t{ value: 'PART_TIME', label: i18n.partTime || 'PART TIME' },\n\t{ value: 'CONTRACTOR', label: i18n.contractor || 'CONTRACTOR' },\n\t{ value: 'TEMPORARY', label: i18n.temporary || 'TEMPORARY' },\n\t{ value: 'INTERN', label: i18n.intern || 'INTERN' },\n\t{ value: 'VOLUNTEER', label: i18n.volunteer || 'VOLUNTEER' },\n\t{ value: 'PER_DIEM', label: i18n.perDiem || 'PER DIEM' },\n\t{ value: 'OTHER', label: i18n.otherType || 'OTHER' },\n];\n\n/**\n * 外側コンポーネント: postType を取得し、未定義なら何も描画しない。\n * postType が確定してから内側コンポーネントに渡すことで\n * useEntityProp のフック呼び出し順序を安定させる。\n */\nconst JobPostingPanels = () => {\n\tconst postType = useSelect(\n\t\t( s ) => s( 'core/editor' ).getCurrentPostType(),\n\t\t[]\n\t);\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn <JobPostingPanelsInner postType={ postType } />;\n};\n\n/**\n * 内側コンポーネント: postType が確定した状態で useEntityProp を呼ぶ。\n * PluginSidebar 内に6つの PanelBody セクションを配置。\n *\n * @param {Object} props          Component props.\n * @param {string} props.postType 投稿タイプスラッグ\n */\nconst JobPostingPanelsInner = ( { postType } ) => {\n\tconst [ meta, setMeta ] = useEntityProp( 'postType', postType, 'meta' );\n\n\t/**\n\t * メタデータを更新する\n\t *\n\t * @param {string} key   メタキー\n\t * @param {*}      value 設定する値\n\t */\n\tconst update = ( key, value ) => setMeta( { ...meta, [ key ]: value } );\n\n\t/**\n\t * 配列型メタデータの値をトグルする\n\t *\n\t * @param {string} key   メタキー\n\t * @param {string} value トグルする値\n\t */\n\tconst toggleArrayValue = ( key, value ) => {\n\t\tconst arr = Array.isArray( meta?.[ key ] ) ? [ ...meta[ key ] ] : [];\n\t\tconst idx = arr.indexOf( value );\n\t\tif ( idx >= 0 ) {\n\t\t\tarr.splice( idx, 1 );\n\t\t} else {\n\t\t\tarr.push( value );\n\t\t}\n\t\tupdate( key, arr );\n\t};\n\n\t/**\n\t * 配列型メタデータに値が含まれているか判定する\n\t *\n\t * @param {string} key   メタキー\n\t * @param {string} value 検索する値\n\t * @return {boolean} 値が含まれていればtrue\n\t */\n\tconst isInArray = ( key, value ) => {\n\t\treturn Array.isArray( meta?.[ key ] ) && meta[ key ].includes( value );\n\t};\n\n\t// ロゴ画像のIDとデータを取得\n\tconst logoId = meta?.vkjp_logo ? parseInt( meta.vkjp_logo, 10 ) : 0;\n\tconst logoImage = useSelect(\n\t\t( s ) => ( logoId ? s( 'core' ).getMedia( logoId ) : null ),\n\t\t[ logoId ]\n\t);\n\n\treturn (\n\t\t<PluginSidebar\n\t\t\tname=\"vgjpm-job-posting\"\n\t\t\ttitle={\n\t\t\t\ti18n.sidebarTitle ||\n\t\t\t\t'Google Job Posting Registration Information'\n\t\t\t}\n\t\t\ticon=\"businessman\"\n\t\t>\n\t\t\t{ /* Section 1: 求人情報 */ }\n\t\t\t<PanelBody\n\t\t\t\ttitle={ i18n.jobInfo || 'Job Information' }\n\t\t\t\tinitialOpen={ true }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ ( i18n.jobTitle || 'Job Title' ) + ' *' }\n\t\t\t\t\tvalue={ meta?.vkjp_title || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_title', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={\n\t\t\t\t\t\t( i18n.jobDescription || 'Job Description' ) + ' *'\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ meta?.vkjp_description || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_description', v ) }\n\t\t\t\t\trows={ 6 }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 2: 給与 */ }\n\t\t\t<PanelBody title={ i18n.salary || 'Salary' } initialOpen={ false }>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.minSalary || 'Minimum Salary' }\n\t\t\t\t\tvalue={ meta?.vkjp_minValue || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_minValue', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.maxSalary || 'Maximum Salary' }\n\t\t\t\t\tvalue={ meta?.vkjp_maxValue || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_maxValue', v ) }\n\t\t\t\t/>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ i18n.salaryCycle || 'Salary Cycle' }\n\t\t\t\t\tvalue={ meta?.vkjp_unitText || '' }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ value: '', label: '—' },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'HOUR',\n\t\t\t\t\t\t\tlabel: i18n.perHour || 'Per hour',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'DAY',\n\t\t\t\t\t\t\tlabel: i18n.perDay || 'Per Day',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'WEEK',\n\t\t\t\t\t\t\tlabel: i18n.perWeek || 'Per Week',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'MONTH',\n\t\t\t\t\t\t\tlabel: i18n.perMonth || 'Per month',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'YEAR',\n\t\t\t\t\t\t\tlabel: i18n.perYear || 'Per year',\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_unitText', v ) }\n\t\t\t\t/>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ i18n.currency || 'Currency' }\n\t\t\t\t\tvalue={ meta?.vkjp_currency || '' }\n\t\t\t\t\toptions={ currencies }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_currency', v ) }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 3: 雇用 */ }\n\t\t\t<PanelBody\n\t\t\t\ttitle={ i18n.employment || 'Employment' }\n\t\t\t\tinitialOpen={ false }\n\t\t\t>\n\t\t\t\t<p style={ { marginTop: 0, marginBottom: '8px' } }>\n\t\t\t\t\t{ i18n.employmentType || 'Employment Type' }\n\t\t\t\t</p>\n\t\t\t\t{ employmentTypes.map( ( { value, label } ) => (\n\t\t\t\t\t<div key={ value } style={ { marginBottom: '8px' } }>\n\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tchecked={ isInArray(\n\t\t\t\t\t\t\t\t'vkjp_employmentType',\n\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\ttoggleArrayValue( 'vkjp_employmentType', value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) ) }\n\n\t\t\t\t<hr style={ { margin: '16px 0' } } />\n\n\t\t\t\t<div style={ { marginBottom: '8px' } }>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ i18n.telecommute || 'TELECOMMUTE' }\n\t\t\t\t\t\tchecked={ isInArray(\n\t\t\t\t\t\t\t'vkjp_jobLocationType',\n\t\t\t\t\t\t\t'TELECOMMUTE'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\ttoggleArrayValue(\n\t\t\t\t\t\t\t\t'vkjp_jobLocationType',\n\t\t\t\t\t\t\t\t'TELECOMMUTE'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={\n\t\t\t\t\t\ti18n.applicantLocationRequirements ||\n\t\t\t\t\t\t'Applicant Location Requirements'\n\t\t\t\t\t}\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tmeta?.vkjp_applicantLocationRequirements_name || ''\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( v ) =>\n\t\t\t\t\t\tupdate( 'vkjp_applicantLocationRequirements_name', v )\n\t\t\t\t\t}\n\t\t\t\t/>\n\n\t\t\t\t<div style={ { marginBottom: '8px' } }>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ i18n.directApply || 'Direct Apply' }\n\t\t\t\t\t\tchecked={ isInArray( 'vkjp_directApply', 'true' ) }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\ttoggleArrayValue( 'vkjp_directApply', 'true' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 4: 採用組織 */ }\n\t\t\t<PanelBody\n\t\t\t\ttitle={ i18n.hiringOrganization || 'Hiring Organization' }\n\t\t\t\tinitialOpen={ false }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={\n\t\t\t\t\t\t( i18n.organizationName || 'Organization Name' ) + ' *'\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ meta?.vkjp_name || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_name', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.organizationUrl || 'Organization URL' }\n\t\t\t\t\tvalue={ meta?.vkjp_sameAs || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_sameAs', v ) }\n\t\t\t\t\ttype=\"url\"\n\t\t\t\t/>\n\t\t\t\t<p style={ { marginTop: 0, marginBottom: '8px' } }>\n\t\t\t\t\t{ i18n.logo || 'Logo' }\n\t\t\t\t</p>\n\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\tupdate( 'vkjp_logo', String( media.id ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tallowedTypes={ [ 'image' ] }\n\t\t\t\t\t\tvalue={ logoId }\n\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t{ logoId > 0 && logoImage && (\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tsrc={ logoImage.source_url }\n\t\t\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\tmaxWidth: '100%',\n\t\t\t\t\t\t\t\t\t\t\theight: 'auto',\n\t\t\t\t\t\t\t\t\t\t\tmarginBottom: '8px',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\tgap: '8px',\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\tlogoId ? 'secondary' : 'primary'\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ logoId\n\t\t\t\t\t\t\t\t\t\t\t? i18n.changeImage || 'Change'\n\t\t\t\t\t\t\t\t\t\t\t: i18n.chooseImage ||\n\t\t\t\t\t\t\t\t\t\t\t  'Choose Image' }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ logoId > 0 && (\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tupdate( 'vkjp_logo', '' )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ i18n.removeImage || 'Remove' }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</MediaUploadCheck>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 5: 勤務地 */ }\n\t\t\t<PanelBody\n\t\t\t\ttitle={ i18n.workLocation || 'Work Location' }\n\t\t\t\tinitialOpen={ false }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.postalCode || 'Postal Code' }\n\t\t\t\t\tvalue={ meta?.vkjp_postalCode || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_postalCode', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.country || 'Country' }\n\t\t\t\t\tvalue={ meta?.vkjp_addressCountry || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_addressCountry', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.region || 'Region' }\n\t\t\t\t\tvalue={ meta?.vkjp_addressRegion || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_addressRegion', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.locality || 'Locality' }\n\t\t\t\t\tvalue={ meta?.vkjp_addressLocality || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_addressLocality', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.streetAddress || 'Street Address' }\n\t\t\t\t\tvalue={ meta?.vkjp_streetAddress || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_streetAddress', v ) }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 6: その他 */ }\n\t\t\t<PanelBody title={ i18n.other || 'Other' } initialOpen={ false }>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.validThrough || 'Valid Through' }\n\t\t\t\t\tvalue={ meta?.vkjp_validThrough || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_validThrough', v ) }\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.identifier || 'Identifier' }\n\t\t\t\t\tvalue={ meta?.vkjp_identifier || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_identifier', v ) }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</PluginSidebar>\n\t);\n};\n\nregisterPlugin( 'vgjpm-editor-panels', { render: JobPostingPanels } );\n"],"names":["module","exports","window","_arrayLikeToArray","r","a","length","e","n","Array","_arrayWithHoles","isArray","_arrayWithoutHoles","_defineProperty","t","Object","defineProperty","value","enumerable","configurable","writable","_iterableToArray","Symbol","iterator","from","_iterableToArrayLimit","l","i","u","f","o","call","next","done","push","_nonIterableRest","TypeError","_nonIterableSpread","_slicedToArray","_toConsumableArray","toPrimitive","String","Number","toPropertyKey","_typeof","constructor","prototype","_unsupportedIterableToArray","toString","slice","name","test","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","__esModule","d","definition","key","get","obj","prop","hasOwnProperty","data","vgjpmPanelData","i18n","currencies","employmentTypes","label","fullTime","partTime","contractor","temporary","intern","volunteer","perDiem","otherType","JobPostingPanelsInner","_ref","postType","_useEntityProp","useEntityProp","_useEntityProp2","meta","setMeta","update","_objectSpread","toggleArrayValue","arr","idx","indexOf","splice","isInArray","includes","logoId","vkjp_logo","parseInt","logoImage","useSelect","s","getMedia","_jsxs","PluginSidebar","title","sidebarTitle","icon","children","PanelBody","jobInfo","initialOpen","_jsx","TextControl","jobTitle","vkjp_title","onChange","v","TextareaControl","jobDescription","vkjp_description","rows","salary","minSalary","vkjp_minValue","maxSalary","vkjp_maxValue","SelectControl","salaryCycle","vkjp_unitText","options","perHour","perDay","perWeek","perMonth","perYear","currency","vkjp_currency","employment","style","marginTop","marginBottom","employmentType","map","_ref2","CheckboxControl","__nextHasNoMarginBottom","checked","margin","telecommute","applicantLocationRequirements","vkjp_applicantLocationRequirements_name","directApply","hiringOrganization","organizationName","vkjp_name","organizationUrl","vkjp_sameAs","type","logo","MediaUploadCheck","MediaUpload","onSelect","media","id","allowedTypes","render","_ref3","open","src","source_url","alt","maxWidth","height","display","gap","Button","onClick","variant","changeImage","chooseImage","isDestructive","removeImage","workLocation","postalCode","vkjp_postalCode","country","vkjp_addressCountry","region","vkjp_addressRegion","locality","vkjp_addressLocality","streetAddress","vkjp_streetAddress","other","validThrough","vkjp_validThrough","identifier","vkjp_identifier","registerPlugin","getCurrentPostType"],"sourceRoot":""}
     1{"version":3,"file":"index.js","mappings":"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","sources":["webpack://vk-google-job-posting-manager/external window \"ReactJSXRuntime\"","webpack://vk-google-job-posting-manager/external window [\"wp\",\"blockEditor\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"components\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"coreData\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"data\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"editor\"]","webpack://vk-google-job-posting-manager/external window [\"wp\",\"plugins\"]","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://vk-google-job-posting-manager/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://vk-google-job-posting-manager/webpack/bootstrap","webpack://vk-google-job-posting-manager/webpack/runtime/compat get default export","webpack://vk-google-job-posting-manager/webpack/runtime/define property getters","webpack://vk-google-job-posting-manager/webpack/runtime/hasOwnProperty shorthand","webpack://vk-google-job-posting-manager/./src/editor-panel/index.js"],"sourcesContent":["module.exports = window[\"ReactJSXRuntime\"];","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"coreData\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"editor\"];","module.exports = window[\"wp\"][\"plugins\"];","function _arrayLikeToArray(r, a) {\n  (null == a || a > r.length) && (a = r.length);\n  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n  return n;\n}\nexport { _arrayLikeToArray as default };","function _arrayWithHoles(r) {\n  if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n  if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _iterableToArray(r) {\n  if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _iterableToArrayLimit(r, l) {\n  var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n  if (null != t) {\n    var e,\n      n,\n      i,\n      u,\n      a = [],\n      f = !0,\n      o = !1;\n    try {\n      if (i = (t = t.call(r)).next, 0 === l) {\n        if (Object(t) !== t) return;\n        f = !1;\n      } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n    } catch (r) {\n      o = !0, n = r;\n    } finally {\n      try {\n        if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n      } finally {\n        if (o) throw n;\n      }\n    }\n    return a;\n  }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","function _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n  return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n  return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n  if (r) {\n    if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n    var t = {}.toString.call(r).slice(8, -1);\n    return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n  }\n}\nexport { _unsupportedIterableToArray as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter/value functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); };","/**\n * VK Google Job Posting Manager - Editor Panel\n *\n * ブロックエディタのサイドバーに求人情報入力パネルを追加する。\n * PluginSidebar を使い、ツールバーに専用アイコンを表示。\n * 各セクションは PanelBody で折りたたみ可能。\n */\n\nimport { registerPlugin } from '@wordpress/plugins';\nimport { PluginSidebar } from '@wordpress/editor';\nimport {\n\tCheckboxControl,\n\tTextControl,\n\tTextareaControl,\n\tSelectControl,\n\tButton,\n\tPanelBody,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { MediaUpload, MediaUploadCheck } from '@wordpress/block-editor';\n\n// ローカライズデータとi18n文字列を取得\nconst data = window.vgjpmPanelData || {};\nconst i18n = data.i18n || {};\nconst currencies = data.currencies || [];\n// 言語に対応する通貨の初期値と、共通設定の通貨\nconst defaultCurrency = data.defaultCurrency || '';\nconst commonCurrency = data.commonCurrency || '';\n\n// 雇用形態の選択肢一覧\nconst employmentTypes = [\n\t{ value: 'FULL_TIME', label: i18n.fullTime || 'FULL TIME' },\n\t{ value: 'PART_TIME', label: i18n.partTime || 'PART TIME' },\n\t{ value: 'CONTRACTOR', label: i18n.contractor || 'CONTRACTOR' },\n\t{ value: 'TEMPORARY', label: i18n.temporary || 'TEMPORARY' },\n\t{ value: 'INTERN', label: i18n.intern || 'INTERN' },\n\t{ value: 'VOLUNTEER', label: i18n.volunteer || 'VOLUNTEER' },\n\t{ value: 'PER_DIEM', label: i18n.perDiem || 'PER DIEM' },\n\t{ value: 'OTHER', label: i18n.otherType || 'OTHER' },\n];\n\n/**\n * 外側コンポーネント: postType を取得し、未定義なら何も描画しない。\n * postType が確定してから内側コンポーネントに渡すことで\n * useEntityProp のフック呼び出し順序を安定させる。\n */\nconst JobPostingPanels = () => {\n\tconst postType = useSelect(\n\t\t( s ) => s( 'core/editor' ).getCurrentPostType(),\n\t\t[]\n\t);\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn <JobPostingPanelsInner postType={ postType } />;\n};\n\n/**\n * 内側コンポーネント: postType が確定した状態で useEntityProp を呼ぶ。\n * PluginSidebar 内に6つの PanelBody セクションを配置。\n *\n * @param {Object} props          Component props.\n * @param {string} props.postType 投稿タイプスラッグ\n */\nconst JobPostingPanelsInner = ( { postType } ) => {\n\tconst [ meta, setMeta ] = useEntityProp( 'postType', postType, 'meta' );\n\n\t/**\n\t * メタデータを更新する\n\t *\n\t * @param {string} key   メタキー\n\t * @param {*}      value 設定する値\n\t */\n\tconst update = ( key, value ) => {\n\t\tconst next = { ...meta, [ key ]: value };\n\t\t// 投稿にも共通設定にも通貨が無いときだけ、画面に表示している初期値も一緒に保存する\n\t\tif (\n\t\t\tkey !== 'vkjp_currency' &&\n\t\t\tdefaultCurrency &&\n\t\t\t! meta?.vkjp_currency &&\n\t\t\t! commonCurrency\n\t\t) {\n\t\t\tnext.vkjp_currency = defaultCurrency;\n\t\t}\n\t\tsetMeta( next );\n\t};\n\n\t/**\n\t * 配列型メタデータの値をトグルする\n\t *\n\t * @param {string} key   メタキー\n\t * @param {string} value トグルする値\n\t */\n\tconst toggleArrayValue = ( key, value ) => {\n\t\tconst arr = Array.isArray( meta?.[ key ] ) ? [ ...meta[ key ] ] : [];\n\t\tconst idx = arr.indexOf( value );\n\t\tif ( idx >= 0 ) {\n\t\t\tarr.splice( idx, 1 );\n\t\t} else {\n\t\t\tarr.push( value );\n\t\t}\n\t\tupdate( key, arr );\n\t};\n\n\t/**\n\t * 配列型メタデータに値が含まれているか判定する\n\t *\n\t * @param {string} key   メタキー\n\t * @param {string} value 検索する値\n\t * @return {boolean} 値が含まれていればtrue\n\t */\n\tconst isInArray = ( key, value ) => {\n\t\treturn Array.isArray( meta?.[ key ] ) && meta[ key ].includes( value );\n\t};\n\n\t// ロゴ画像のIDとデータを取得\n\tconst logoId = meta?.vkjp_logo ? parseInt( meta.vkjp_logo, 10 ) : 0;\n\tconst logoImage = useSelect(\n\t\t( s ) => ( logoId ? s( 'core' ).getMedia( logoId ) : null ),\n\t\t[ logoId ]\n\t);\n\n\treturn (\n\t\t<PluginSidebar\n\t\t\tname=\"vgjpm-job-posting\"\n\t\t\ttitle={\n\t\t\t\ti18n.sidebarTitle ||\n\t\t\t\t'Google Job Posting Registration Information'\n\t\t\t}\n\t\t\ticon=\"businessman\"\n\t\t>\n\t\t\t{ /* Section 1: 求人情報 */ }\n\t\t\t<PanelBody\n\t\t\t\ttitle={ i18n.jobInfo || 'Job Information' }\n\t\t\t\tinitialOpen={ true }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ ( i18n.jobTitle || 'Job Title' ) + ' *' }\n\t\t\t\t\tvalue={ meta?.vkjp_title || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_title', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={\n\t\t\t\t\t\t( i18n.jobDescription || 'Job Description' ) + ' *'\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ meta?.vkjp_description || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_description', v ) }\n\t\t\t\t\trows={ 6 }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 2: 給与 */ }\n\t\t\t<PanelBody title={ i18n.salary || 'Salary' } initialOpen={ false }>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.minSalary || 'Minimum Salary' }\n\t\t\t\t\tvalue={ meta?.vkjp_minValue || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_minValue', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.maxSalary || 'Maximum Salary' }\n\t\t\t\t\tvalue={ meta?.vkjp_maxValue || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_maxValue', v ) }\n\t\t\t\t/>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ i18n.salaryCycle || 'Salary Cycle' }\n\t\t\t\t\tvalue={ meta?.vkjp_unitText || '' }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ value: '', label: '—' },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'HOUR',\n\t\t\t\t\t\t\tlabel: i18n.perHour || 'Per hour',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'DAY',\n\t\t\t\t\t\t\tlabel: i18n.perDay || 'Per Day',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'WEEK',\n\t\t\t\t\t\t\tlabel: i18n.perWeek || 'Per Week',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'MONTH',\n\t\t\t\t\t\t\tlabel: i18n.perMonth || 'Per month',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: 'YEAR',\n\t\t\t\t\t\t\tlabel: i18n.perYear || 'Per year',\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_unitText', v ) }\n\t\t\t\t/>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ i18n.currency || 'Currency' }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tmeta?.vkjp_currency ||\n\t\t\t\t\t\t( commonCurrency ? '' : defaultCurrency )\n\t\t\t\t\t}\n\t\t\t\t\toptions={ currencies }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_currency', v ) }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 3: 雇用 */ }\n\t\t\t<PanelBody\n\t\t\t\ttitle={ i18n.employment || 'Employment' }\n\t\t\t\tinitialOpen={ false }\n\t\t\t>\n\t\t\t\t<p style={ { marginTop: 0, marginBottom: '8px' } }>\n\t\t\t\t\t{ i18n.employmentType || 'Employment Type' }\n\t\t\t\t</p>\n\t\t\t\t{ employmentTypes.map( ( { value, label } ) => (\n\t\t\t\t\t<div key={ value } style={ { marginBottom: '8px' } }>\n\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tchecked={ isInArray(\n\t\t\t\t\t\t\t\t'vkjp_employmentType',\n\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\ttoggleArrayValue( 'vkjp_employmentType', value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) ) }\n\n\t\t\t\t<hr style={ { margin: '16px 0' } } />\n\n\t\t\t\t<div style={ { marginBottom: '8px' } }>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ i18n.telecommute || 'TELECOMMUTE' }\n\t\t\t\t\t\tchecked={ isInArray(\n\t\t\t\t\t\t\t'vkjp_jobLocationType',\n\t\t\t\t\t\t\t'TELECOMMUTE'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\ttoggleArrayValue(\n\t\t\t\t\t\t\t\t'vkjp_jobLocationType',\n\t\t\t\t\t\t\t\t'TELECOMMUTE'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={\n\t\t\t\t\t\ti18n.applicantLocationRequirements ||\n\t\t\t\t\t\t'Applicant Location Requirements'\n\t\t\t\t\t}\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tmeta?.vkjp_applicantLocationRequirements_name || ''\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( v ) =>\n\t\t\t\t\t\tupdate( 'vkjp_applicantLocationRequirements_name', v )\n\t\t\t\t\t}\n\t\t\t\t/>\n\n\t\t\t\t<div style={ { marginBottom: '8px' } }>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ i18n.directApply || 'Direct Apply' }\n\t\t\t\t\t\tchecked={ isInArray( 'vkjp_directApply', 'true' ) }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\ttoggleArrayValue( 'vkjp_directApply', 'true' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 4: 採用組織 */ }\n\t\t\t<PanelBody\n\t\t\t\ttitle={ i18n.hiringOrganization || 'Hiring Organization' }\n\t\t\t\tinitialOpen={ false }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={\n\t\t\t\t\t\t( i18n.organizationName || 'Organization Name' ) + ' *'\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ meta?.vkjp_name || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_name', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.organizationUrl || 'Organization URL' }\n\t\t\t\t\tvalue={ meta?.vkjp_sameAs || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_sameAs', v ) }\n\t\t\t\t\ttype=\"url\"\n\t\t\t\t/>\n\t\t\t\t<p style={ { marginTop: 0, marginBottom: '8px' } }>\n\t\t\t\t\t{ i18n.logo || 'Logo' }\n\t\t\t\t</p>\n\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\tupdate( 'vkjp_logo', String( media.id ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tallowedTypes={ [ 'image' ] }\n\t\t\t\t\t\tvalue={ logoId }\n\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t{ logoId > 0 && logoImage && (\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tsrc={ logoImage.source_url }\n\t\t\t\t\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\tmaxWidth: '100%',\n\t\t\t\t\t\t\t\t\t\t\theight: 'auto',\n\t\t\t\t\t\t\t\t\t\t\tmarginBottom: '8px',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\tgap: '8px',\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\tlogoId ? 'secondary' : 'primary'\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ logoId\n\t\t\t\t\t\t\t\t\t\t\t? i18n.changeImage || 'Change'\n\t\t\t\t\t\t\t\t\t\t\t: i18n.chooseImage ||\n\t\t\t\t\t\t\t\t\t\t\t  'Choose Image' }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ logoId > 0 && (\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tupdate( 'vkjp_logo', '' )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ i18n.removeImage || 'Remove' }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</MediaUploadCheck>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 5: 勤務地 */ }\n\t\t\t<PanelBody\n\t\t\t\ttitle={ i18n.workLocation || 'Work Location' }\n\t\t\t\tinitialOpen={ false }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.postalCode || 'Postal Code' }\n\t\t\t\t\tvalue={ meta?.vkjp_postalCode || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_postalCode', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.country || 'Country' }\n\t\t\t\t\tvalue={ meta?.vkjp_addressCountry || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_addressCountry', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.region || 'Region' }\n\t\t\t\t\tvalue={ meta?.vkjp_addressRegion || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_addressRegion', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.locality || 'Locality' }\n\t\t\t\t\tvalue={ meta?.vkjp_addressLocality || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_addressLocality', v ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.streetAddress || 'Street Address' }\n\t\t\t\t\tvalue={ meta?.vkjp_streetAddress || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_streetAddress', v ) }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t{ /* Section 6: その他 */ }\n\t\t\t<PanelBody title={ i18n.other || 'Other' } initialOpen={ false }>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.validThrough || 'Valid Through' }\n\t\t\t\t\tvalue={ meta?.vkjp_validThrough || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_validThrough', v ) }\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ i18n.identifier || 'Identifier' }\n\t\t\t\t\tvalue={ meta?.vkjp_identifier || '' }\n\t\t\t\t\tonChange={ ( v ) => update( 'vkjp_identifier', v ) }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</PluginSidebar>\n\t);\n};\n\nregisterPlugin( 'vgjpm-editor-panels', { render: JobPostingPanels } );\n"],"names":["module","exports","window","_arrayLikeToArray","r","a","length","e","n","Array","_arrayWithHoles","isArray","_arrayWithoutHoles","_defineProperty","t","Object","defineProperty","value","enumerable","configurable","writable","_iterableToArray","Symbol","iterator","from","_iterableToArrayLimit","l","i","u","f","o","call","next","done","push","_nonIterableRest","TypeError","_nonIterableSpread","_slicedToArray","_toConsumableArray","toPrimitive","String","Number","toPropertyKey","_typeof","constructor","prototype","_unsupportedIterableToArray","toString","slice","name","test","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","__esModule","d","definition","key","get","obj","prop","hasOwnProperty","data","vgjpmPanelData","i18n","currencies","defaultCurrency","commonCurrency","employmentTypes","label","fullTime","partTime","contractor","temporary","intern","volunteer","perDiem","otherType","JobPostingPanelsInner","_ref","postType","_useEntityProp","useEntityProp","_useEntityProp2","meta","setMeta","update","_objectSpread","vkjp_currency","toggleArrayValue","arr","idx","indexOf","splice","isInArray","includes","logoId","vkjp_logo","parseInt","logoImage","useSelect","s","getMedia","_jsxs","PluginSidebar","title","sidebarTitle","icon","children","PanelBody","jobInfo","initialOpen","_jsx","TextControl","jobTitle","vkjp_title","onChange","v","TextareaControl","jobDescription","vkjp_description","rows","salary","minSalary","vkjp_minValue","maxSalary","vkjp_maxValue","SelectControl","salaryCycle","vkjp_unitText","options","perHour","perDay","perWeek","perMonth","perYear","currency","employment","style","marginTop","marginBottom","employmentType","map","_ref2","CheckboxControl","__nextHasNoMarginBottom","checked","margin","telecommute","applicantLocationRequirements","vkjp_applicantLocationRequirements_name","directApply","hiringOrganization","organizationName","vkjp_name","organizationUrl","vkjp_sameAs","type","logo","MediaUploadCheck","MediaUpload","onSelect","media","id","allowedTypes","render","_ref3","open","src","source_url","alt","maxWidth","height","display","gap","Button","onClick","variant","changeImage","chooseImage","isDestructive","removeImage","workLocation","postalCode","vkjp_postalCode","country","vkjp_addressCountry","region","vkjp_addressRegion","locality","vkjp_addressLocality","streetAddress","vkjp_streetAddress","other","validThrough","vkjp_validThrough","identifier","vkjp_identifier","registerPlugin","getCurrentPostType"],"sourceRoot":""}
  • vk-google-job-posting-manager/trunk/functions-tags.php

    r3785430 r3795535  
    99vgjpm_contains_object();
    1010vgjpm_use_common_values();
     11vgjpm_get_default_currency();
     12vgjpm_get_initial_currency();
    1113vgjpm_array_to_string();
    1214vgjpm_image_filter_id_to_url();
    … …  
    303305
    304306
     307/**
     308 * サイトの言語に対応する通貨コードの初期値を返す。
     309 * 対応表は ja → JPY のみ。他の言語は空文字(従来どおり)。
     310 * サイトの言語は get_locale() を使う(ユーザーのプロフィール言語ではない)。
     311 *
     312 * @param array $currency_options 選択肢(通貨コード => 通貨名。vgjpm_currency_options フィルター適用後のもの)。
     313 * @return string 通貨コード。対応が無い・選択肢に無い場合は空文字。
     314 */
     315function vgjpm_get_default_currency( $currency_options ) {
     316        // 言語コード(ja_JP → ja)に直し、対応表から引く。
     317        $locale   = get_locale();
     318        $language = strtolower( strtok( str_replace( '-', '_', $locale ), '_' ) );
     319
     320        /**
     321         * 言語から通貨コードの初期値を引く対応表。
     322         *
     323         * @param array $map 言語コード => 通貨コード。
     324         */
     325        $map = apply_filters( 'vgjpm_default_currency_map', array( 'ja' => 'JPY' ) );
     326
     327        if ( ! is_array( $map ) || empty( $map[ $language ] ) || ! is_string( $map[ $language ] ) ) {
     328                return '';
     329        }
     330        $currency = $map[ $language ];
     331
     332        // 選択肢に無い通貨は初期値にしない。
     333        if ( ! is_array( $currency_options ) || ! array_key_exists( $currency, $currency_options ) ) {
     334                return '';
     335        }
     336
     337        return $currency;
     338}
     339
     340/**
     341 * 投稿にも共通設定にも通貨が入っていないときだけ、初期選択する通貨コードを返す。
     342 * 保存済みの値がある場合は空文字を返し、既存の動作を変えない。
     343 *
     344 * @param mixed $post_currency   投稿に保存されている通貨(未保存は空文字・null)。
     345 * @param mixed $common_currency 共通設定に保存されている通貨(未保存は空文字・null)。
     346 * @param array $currency_options 選択肢(通貨コード => 通貨名)。
     347 * @return string 初期選択する通貨コード。該当しなければ空文字。
     348 */
     349function vgjpm_get_initial_currency( $post_currency, $common_currency, $currency_options ) {
     350        // どちらかに値があるときは何もしない(AED など保存済みの値を変えない)。
     351        if ( ! empty( $post_currency ) || ! empty( $common_currency ) ) {
     352                return '';
     353        }
     354
     355        return vgjpm_get_default_currency( $currency_options );
     356}
     357
     358
    305359function vgjpm_array_to_string( $custom_fields ) {
    306360        foreach ( $custom_fields as $key => $value ) {
  • vk-google-job-posting-manager/trunk/inc/custom-field-builder/custom-field-builder-config.php

    r3511011 r3795535  
    6161                $befor_custom_fields = '';
    6262                $field_options = vgjpm_get_common_field_options();
     63
     64                // 投稿にも共通設定にも通貨が無いときだけ、言語に応じた初期値を選択状態にする。
     65                $post_currency    = get_post_meta( get_the_ID(), 'vkjp_currency', true );
     66                $common_currency  = isset( $field_options['vkjp_currency'] ) ? $field_options['vkjp_currency'] : '';
     67                $initial_currency = vgjpm_get_initial_currency( $post_currency, $common_currency, $custom_fields_array['vkjp_currency']['options'] );
     68                if ( '' !== $initial_currency ) {
     69                        $field_options['vkjp_currency'] = $initial_currency;
     70                }
     71
    6372                echo '<ul>';
    6473                echo '<li>' . esc_html__( 'Please fill in recruitment information for Google Job Posting.', 'vk-google-job-posting-manager' ) . '</li>';
  • vk-google-job-posting-manager/trunk/inc/custom-field-builder/package/custom-field-builder.php

    r3706638 r3795535  
    1616        class VK_Custom_Field_Builder {
    1717
    18                 public static $version = '0.2.4';
     18                public static $version = '0.2.5';
    1919
    2020                // define( 'Bill_URL', get_template_directory_uri() );
    … …  
    125125                        if ( isset( $_POST['noncename__fields'] ) && null !== $posted_value ) {
    126126                                $noncename__fields = sanitize_text_field( wp_unslash( $_POST['noncename__fields'] ) );
    127                                 if ( ! wp_verify_nonce( $noncename__fields, wp_create_nonce( __FILE__ ) ) ) {
     127                                if ( ! wp_verify_nonce( $noncename__fields, 'vk_custom_field_builder' ) ) {
    128128                                        return $value;
    129129                                }
    … …  
    150150                public static function form_table( $custom_fields_array, $befor_items = '', $echo = true, $options = array() ) {
    151151
    152                         wp_nonce_field( wp_create_nonce( __FILE__ ), 'noncename__fields' );
     152                        // アクション名は save_cf_value() の wp_verify_nonce() と同じ固定文字列にすること。
     153                        // 時刻で変わる値をアクション名にすると、発行から 12 時間の区切りを跨いだ保存が通らなくなる.
     154                        wp_nonce_field( 'vk_custom_field_builder', 'noncename__fields' );
    153155
    154156                        global $post;
    … …  
    368370
    369371                        // nonce を確認し、値が書き換えられていれば、何もしない(CSRF対策)
    370                         if ( ! wp_verify_nonce( $noncename__fields, wp_create_nonce( __FILE__ ) ) ) {
     372                        if ( ! wp_verify_nonce( $noncename__fields, 'vk_custom_field_builder' ) ) {
    371373                                return;
    372374                        }
    … …  
    377379                        }
    378380
     381                        if ( ! $post instanceof WP_Post ) {
     382                                return;
     383                        }
     384
     385                        // 権限の確認(この投稿を編集できるユーザーだけが保存できる).
     386                        if ( ! current_user_can( 'edit_post', $post->ID ) ) {
     387                                return;
     388                        }
     389
    379390                        foreach ( $custom_fields_array as $key => $value ) {
    380391
    381                                 $field_value = null;
     392                                $field_value = '';
    382393                                // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Value is sanitized below.
    383394                                if ( isset( $_POST[ $key ] ) ) {
    … …  
    388399                                // データが空だったら入れる
    389400                                if ( get_post_meta( $post->ID, $key ) == '' ) {
    390                                         add_post_meta( $post->ID, $key, $field_value, true );
     401                                        add_post_meta( $post->ID, $key, wp_slash( $field_value ), true );
    391402                                        // 今入ってる値と違ってたらアップデートする
    392403                                } elseif ( $field_value != get_post_meta( $post->ID, $key, true ) ) {
    393                                         update_post_meta( $post->ID, $key, $field_value );
     404                                        update_post_meta( $post->ID, $key, wp_slash( $field_value ) );
    394405                                        // 入力がなかったら消す
    395406                                } elseif ( $field_value == '' ) {
    … …  
    399410                }
    400411
     412                /**
     413                 * 送信された値を、項目の種類(type)に合わせて整える.
     414                 *
     415                 * @param string|array $field_value  送信された値(チェックボックスは配列).
     416                 * @param array        $field_config 項目の設定(type などを持つ配列).
     417                 * @return string|array 整えた値(配列で送信された場合は配列).
     418                 */
    401419                private static function sanitize_field_value( $field_value, $field_config ) {
    402420                        if ( is_array( $field_value ) ) {
    … …  
    413431                                case 'url':
    414432                                        return esc_url_raw( $field_value );
     433                                case 'image':
     434                                        return self::sanitize_image_value( $field_value );
    415435                                default:
    416436                                        return sanitize_text_field( $field_value );
    417437                        }
     438                }
     439
     440                /**
     441                 * 画像フィールドの値を整える.
     442                 *
     443                 * 数値は添付 ID として、http / https の URL は esc_url_raw で整えて残し、それ以外は空文字にする.
     444                 * 投稿メタの登録(register_post_meta)の sanitize_callback からも呼ばれ、保存時に重ねて通るため、整えた値をもう一度通しても変わらないこと.
     445                 *
     446                 * @param mixed $value 整える値.
     447                 * @return string 添付 ID(正の整数の文字列)か URL. どちらでもなければ空文字.
     448                 */
     449                public static function sanitize_image_value( $value ) {
     450                        // 配列などの文字列にできない値は保存しない.
     451                        if ( ! is_scalar( $value ) ) {
     452                                return '';
     453                        }
     454
     455                        // 数値は添付 ID として保存する(0 は空).
     456                        if ( is_numeric( $value ) ) {
     457                                $image_id = absint( $value );
     458                                return $image_id ? (string) $image_id : '';
     459                        }
     460
     461                        return self::sanitize_image_url( $value );
     462                }
     463
     464                /**
     465                 * 画像フィールドに送信された、添付 ID ではない値を URL として整える.
     466                 *
     467                 * 画面から画像を選ぶと添付 ID が保存されるが、REST API やインポートで画像の URL を保存している投稿もある.
     468                 * その投稿を更新しても値が消えないよう、http / https の URL だけを残す.
     469                 *
     470                 * @param string $field_value 送信された値.
     471                 * @return string 整えた URL. http / https の URL でない値と、制御文字を含む値は空文字.
     472                 */
     473                private static function sanitize_image_url( $field_value ) {
     474                        $image_url = trim( (string) $field_value );
     475
     476                        // 制御文字を含む値は保存しない(esc_url_raw が取り除くため、検査した URL と保存される URL がずれる).
     477                        if ( preg_match( '/[\x00-\x1F\x7F]/', $image_url ) ) {
     478                                return '';
     479                        }
     480
     481                        // スキームが http / https で、ホスト名がある URL だけを受け付ける(javascript: や、ただの文字列は保存しない).
     482                        $url_parts = wp_parse_url( $image_url );
     483                        if ( ! is_array( $url_parts ) || empty( $url_parts['host'] ) || empty( $url_parts['scheme'] ) ) {
     484                                return '';
     485                        }
     486                        if ( ! in_array( strtolower( $url_parts['scheme'] ), array( 'http', 'https' ), true ) ) {
     487                                return '';
     488                        }
     489
     490                        // 整えたあとの URL にもホスト名が残っていることを確かめる(esc_url_raw が取り除く文字だけのホスト名は保存しない).
     491                        $sanitized_url   = esc_url_raw( $image_url, array( 'http', 'https' ) );
     492                        $sanitized_parts = wp_parse_url( $sanitized_url );
     493                        if ( ! is_array( $sanitized_parts ) || empty( $sanitized_parts['host'] ) ) {
     494                                return '';
     495                        }
     496
     497                        return $sanitized_url;
    418498                }
    419499
  • vk-google-job-posting-manager/trunk/inc/custom-field-builder/package/custom-field-flexible-table.php

    r3449302 r3795535  
    1717class VK_Custom_Field_Builder_Flexible_Table {
    1818
    19         public static $version = '0.1.0';
     19        public static $version = '0.1.1';
    2020
    2121        /**
    … …  
    3232
    3333                $nonce_name = 'noncename__' . $custom_fields_array['field_name'];
    34                 wp_nonce_field( wp_create_nonce( __FILE__ ), $nonce_name );
     34                // アクション名は save_cf_value() の wp_verify_nonce() と同じ固定文字列にすること。
     35                // 時刻で変わる値をアクション名にすると、発行から 12 時間の区切りを跨いだ保存が通らなくなる.
     36                wp_nonce_field( 'vk_custom_field_flexible_table', $nonce_name );
    3537
    3638                global $post;
    … …  
    150152
    151153                // nonce を確認し、値が書き換えられていれば、何もしない(CSRF対策)
    152                 if ( ! wp_verify_nonce( $noncename__bill_fields, wp_create_nonce( __FILE__ ) ) ) {
     154                if ( ! wp_verify_nonce( $noncename__bill_fields, 'vk_custom_field_flexible_table' ) ) {
    153155                        return;
    154156                }
    … …  
    159161                }
    160162
     163                if ( ! $post instanceof WP_Post ) {
     164                        return;
     165                }
     166
     167                // 権限の確認(この投稿を編集できるユーザーだけが保存できる).
     168                if ( ! current_user_can( 'edit_post', $post->ID ) ) {
     169                        return;
     170                }
     171
    161172                $field       = $custom_fields_array['field_name'];
    162                 $field_value = null;
     173                $field_value = '';
    163174                // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Value is sanitized below.
    164175                if ( isset( $_POST[ $field ] ) ) {
    … …  
    174185                // データが空だったら入れる
    175186                if ( get_post_meta( $post->ID, $field ) == '' ) {
    176                         add_post_meta( $post->ID, $field, $field_value, true );
     187                        add_post_meta( $post->ID, $field, wp_slash( $field_value ), true );
    177188                        // 今入ってる値と違ってたらアップデートする
    178189                } elseif ( $field_value != get_post_meta( $post->ID, $field, true ) ) {
    179                         update_post_meta( $post->ID, $field, $field_value );
     190                        update_post_meta( $post->ID, $field, wp_slash( $field_value ) );
    180191                        // 入力がなかったら消す
    181192                } elseif ( $field_value == '' ) {
  • vk-google-job-posting-manager/trunk/inc/editor-panel.php

    r3785430 r3795535  
    9191                'vkjp_name',
    9292                'vkjp_sameAs',
    93                 'vkjp_logo',
    9493                'vkjp_postalCode',
    9594                'vkjp_addressCountry',
    … …  
    113112                'vkjp_directApply',
    114113        );
     114
     115        // 会社ロゴは、クラシックエディターの画像欄と同じ規則(添付 ID か http / https の URL)で整える。
     116        // update_post_meta() の中でも走るため、sanitize_text_field だと URL の「%20」などが消える。
     117        // 他のプラグインが、このメソッドの無い古いクラスを先に読み込んでいる場合は、従来の整え方にする。
     118        // The logo uses the same rule as the image field of the classic editor (attachment ID or http / https URL).
     119        // sanitize_text_field would remove "%20" and other percent-encoded characters from URLs, because the callback also runs inside update_post_meta().
     120        // Another plugin may have loaded an older copy of the class without this method, so fall back to the previous callback in that case.
     121        $logo_sanitize_callback = method_exists( 'VK_Custom_Field_Builder', 'sanitize_image_value' )
     122                ? array( 'VK_Custom_Field_Builder', 'sanitize_image_value' )
     123                : 'sanitize_text_field';
    115124
    116125        foreach ( $post_types as $post_type ) {
    … …  
    134143                        );
    135144                }
     145
     146                // 会社ロゴを、画像欄と同じ規則で登録する。
     147                // Register the logo field with the same rule as the image field.
     148                register_post_meta(
     149                        $post_type,
     150                        'vkjp_logo',
     151                        array(
     152                                'type'              => 'string',
     153                                'single'            => true,
     154                                'show_in_rest'      => true,
     155                                'sanitize_callback' => $logo_sanitize_callback,
     156                                'auth_callback'     => $auth_callback,
     157                        )
     158                );
    136159
    137160                // Register description field with wp_kses_post sanitizer.
    … …  
    288311                        'value' => $c['alpha3'],
    289312                        'label' => $c['name'],
     313                );
     314        }
     315
     316        // 通貨が未設定のときの初期値(言語に対応する通貨)と、共通設定の通貨。
     317        // Default currency for unset state, and the common-settings currency.
     318        $currency_map = array();
     319        foreach ( $currencies as $c ) {
     320                $currency_map[ $c['value'] ] = $c['label'];
     321        }
     322        $common_options   = vgjpm_get_common_field_options();
     323        $common_currency  = isset( $common_options['vkjp_currency'] ) && is_string( $common_options['vkjp_currency'] ) ? $common_options['vkjp_currency'] : '';
     324        $default_currency = vgjpm_get_default_currency( apply_filters( 'vgjpm_currency_options', $currency_map ) );
     325
     326        // Add an empty choice when an unset currency is shown as empty; without it, the first currency (UAE Dirham) is shown although nothing is saved.
     327        // It is not added when the language default (JPY) is shown, because choosing it would switch back to JPY.
     328        // Keep this condition in line with the shown value in src/editor-panel/index.js ( commonCurrency ? '' : defaultCurrency ).
     329        // 未設定の通貨を空として表示する場合だけ、空の選択肢を足す(無いと、何も保存されていないのに先頭の通貨 UAE Dirham が表示される)。
     330        // 言語に応じた初期値(JPY)を表示する場合は足さない(選んでも JPY の表示に戻るため)。
     331        // この条件は src/editor-panel/index.js の表示値の式(commonCurrency ? '' : defaultCurrency)とそろえること。
     332        if ( '' !== $common_currency || '' === $default_currency ) {
     333                array_unshift(
     334                        $currencies,
     335                        array(
     336                                'value' => '',
     337                                'label' => '—',
     338                        )
    290339                );
    291340        }
    … …  
    348397                        ),
    349398                        'currencies' => $currencies,
     399                        'defaultCurrency' => $default_currency,
     400                        'commonCurrency'  => $common_currency,
    350401                )
    351402        );
  • vk-google-job-posting-manager/trunk/readme.txt

    r3785430 r3795535  
    55Requires at least: 6.7
    66Tested up to: 7.1
    7 Stable tag: 1.4.1
     7Stable tag: 1.4.2
    88Requires PHP: 7.4
    99License: GPLv2 or later
    … …  
    4747== Changelog ==
    4848
     49= 1.4.2 =
     50[ Spec Change ] On Japanese sites, the currency field now defaults to Japanese Yen instead of UAE Dirham when no currency has been set.
     51[ Bug Fix ] Fixed an issue where the Job Posting sidebar panel in the block editor showed UAE Dirham as the currency even when no currency was set.
     52[ Bug Fix ] Fixed an issue where backslashes in custom field values were removed when saving from the classic editor.
     53[ Bug Fix ] Fixed an issue where image fields in the job posting fields could save values other than an attachment ID or an image URL, and where characters such as "%20" were removed from image URLs.
     54[ Bug Fix ] Fixed a PHP 8.1 warning shown when saving custom fields that were not submitted.
     55[ Security Fix ] Added a permission check when saving job posting fields from the editor.
    4956= 1.4.1 =
    5057[ Bug Fix ] Fixed an issue where the Job Posting sidebar panel showed empty fields for existing posts of custom post types registered by other plugins or themes.
  • vk-google-job-posting-manager/trunk/vendor/composer/installed.php

    r3785430 r3795535  
    22    'root' => array(
    33        'name' => 'vektor/vk-google-job-posting-manager',
    4         'pretty_version' => '1.4.1',
    5         'version' => '1.4.1.0',
    6         'reference' => '8c74af95e1c773772aa18e071a830a4f3ab4a1fc',
     4        'pretty_version' => '1.4.2',
     5        'version' => '1.4.2.0',
     6        'reference' => '8b4de17b4b6d5f3c421f970a30912f818c23afe8',
    77        'type' => 'library',
    88        'install_path' => __DIR__ . '/../../',
    … …  
    2121        ),
    2222        'vektor/vk-google-job-posting-manager' => array(
    23             'pretty_version' => '1.4.1',
    24             'version' => '1.4.1.0',
    25             'reference' => '8c74af95e1c773772aa18e071a830a4f3ab4a1fc',
     23            'pretty_version' => '1.4.2',
     24            'version' => '1.4.2.0',
     25            'reference' => '8b4de17b4b6d5f3c421f970a30912f818c23afe8',
    2626            'type' => 'library',
    2727            'install_path' => __DIR__ . '/../../',
  • vk-google-job-posting-manager/trunk/vk-google-job-posting-manager.php

    r3785430 r3795535  
    88 * Text Domain:     vk-google-job-posting-manager
    99 * Domain Path:     /languages
    10  * Version:         1.4.1
     10 * Version:         1.4.2
    1111 * Requires at least: 6.7
    1212 * License:         GPLv2 or later
    … …  
    314314
    315315                                $saved = isset( $options[ $key ] ) ? $options[ $key ] : '';
     316
     317                                // 通貨が未保存のときだけ、言語に応じた初期値を選択状態にする。
     318                                if ( 'vkjp_currency' === $key && empty( $saved ) ) {
     319                                        $saved = vgjpm_get_initial_currency( '', $saved, $value['options'] );
     320                                }
    316321
    317322                                if ( $saved == $option_value ) {
Note: See TracChangeset for help on using the changeset viewer.