Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const poshtaRequestList = [32]
- const currentRequestId = window.location.pathname.split("/").slice(-1)[0]
- const langPattern = /[а-щА-ЩЬьЮюЯяЇїІіЄєҐґ.,-\/0-9 \b]/
- if (poshtaRequestList.includes(parseInt(currentRequestId))) {
- const fsFields = {
- 32: {
- dropdown: "requested_item_values_32_requested_item_value_attributes_cf_delivery_options_63350",
- address: {
- region: "requested_item_values_32_requested_item_value_attributes_cf_text_160216200880702_63350",
- city: "requested_item_values_32_requested_item_value_attributes_cf_text_160198270408483_63350",
- district: "requested_item_values_32_requested_item_value_attributes_cf_text_160216200880721_63350",
- street: "requested_item_values_32_requested_item_value_attributes_cf_text_160198270408495_63350",
- building: "requested_item_values_32_requested_item_value_attributes_cf_text_160216200880737_63350",
- apartment: "requested_item_values_32_requested_item_value_attributes_cf_text_160216200880747_63350"
- },
- pickup: {
- receiver: "requested_item_values_32_requested_item_value_attributes_cf_receiver_63350",
- phone: "requested_item_values_32_requested_item_value_attributes_cf_phone_number_63350",
- city: "requested_item_values_32_requested_item_value_attributes_cf_city_63350",
- location: "requested_item_values_32_requested_item_value_attributes_cf_novaposhta_office_63350"
- },
- dropdown_options: [
- "...",
- "Address delivery",
- "Delivery to NovaPoshta office",
- "Pick up at the Toronto office",
- "Pick up at the Community office",
- "Pick up at the Lviv office",
- "Courier delivery to the Lab 72/1",
- "Courier delivery to the Lab 72",
- "Courier delivery to the Lab 64"
- ]
- }
- }
- // =============================================================================================================
- // =============================================================================================================
- // =============================================================================================================
- var fsNative = {
- dropdown: document.getElementById(fsFields[currentRequestId].dropdown),
- address: {},
- pickup: {}
- }
- var fsCustom = {
- dropdown: createSimplifiedDropdown(fsFields[currentRequestId].dropdown, fsFields[currentRequestId].dropdown_options),
- address: {},
- pickup: {}
- }
- fsCustom.dropdown.onchange = function(){ renderController() }
- for (let key in fsFields[currentRequestId].address) {
- fsNative.address[key] = document.getElementById(fsFields[currentRequestId].address[key])
- fsCustom.address[key] = createInputWithRestrictions(fsNative.address[key], langPattern)
- fsCustom.address[key].onkeydown = function(e){
- if (langPattern.test(e.key) || e.key === "Backspace") {
- renderController(fsNative.address[key], e.key)
- } else {
- return false
- }
- }
- }
- for (let key in fsFields[currentRequestId].pickup) {
- fsNative.pickup[key] = document.getElementById(fsFields[currentRequestId].pickup[key])
- fsCustom.pickup[key] = createInputWithRestrictions(fsNative.pickup[key], langPattern)
- fsCustom.pickup[key].onkeydown = function(e){
- if (langPattern.test(e.key)) {
- renderController(fsNative.pickup[key], e.key)
- } else {
- return false
- }
- }
- }
- renderController()
- function renderController(elem, key){
- //console.log(elem, key)
- //console.log('test')
- fsNative.dropdown.value = fsCustom.dropdown.value === "..." ? "" : fsCustom.dropdown.value
- if (fsCustom.dropdown.value === 'Address delivery') {
- for (let key in fsCustom.address) {
- fsCustom.address[key].parentNode.hidden = false
- fsNative.address[key].value = fsCustom.address[key].value
- }
- for (let key in fsCustom.pickup) {
- fsCustom.pickup[key].value = ""
- fsNative.pickup[key].value = ""
- fsCustom.pickup[key].parentNode.hidden = true
- }
- } else if (fsCustom.dropdown.value === 'Delivery to NovaPoshta office') {
- for (let key in fsCustom.pickup) {
- fsCustom.pickup[key].parentNode.hidden = false
- fsNative.pickup[key].value = fsCustom.pickup[key].value
- }
- for (let key in fsCustom.address) {
- fsCustom.address[key].value = ""
- fsNative.address[key].value = ""
- fsCustom.address[key].parentNode.hidden = true
- }
- } else {
- for (let key in fsCustom.address) {
- fsCustom.address[key].value = ""
- fsNative.address[key].value = ""
- fsCustom.address[key].parentNode.hidden = true
- }
- for (let key in fsCustom.pickup) {
- fsCustom.pickup[key].value = ""
- fsNative.pickup[key].value = ""
- fsCustom.pickup[key].parentNode.hidden = true
- }
- }
- if (elem && key) {
- console.log(key)
- if (key === "Backspace") {
- console.log(elem.value.slice(0, -1))
- elem.value = elem.value.slice(0, -1)
- } else {
- if (langPattern.test(key)) elem.value += key
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment