diff --git a/index.dev.html b/index.dev.html index 6b57e8eb..1343ec79 100644 --- a/index.dev.html +++ b/index.dev.html @@ -59,6 +59,6 @@ errRepURL: '' })); - + \ No newline at end of file diff --git a/index.html b/index.html index f93d3ae3..6afced2b 100644 --- a/index.html +++ b/index.html @@ -59,6 +59,6 @@ errRepURL: '' })); - + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index bd236c94..1e14ae42 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@caliorg/a2jviewer", - "version": "8.1.6", + "version": "8.2.0-13", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@caliorg/a2jviewer", - "version": "8.1.6", + "version": "8.2.0-13", "license": "GNU AGPL v3.0", "dependencies": { "@caliorg/a2jdeps": "^7.1.7", diff --git a/package.json b/package.json index 54c87260..afe7371d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@caliorg/a2jviewer", - "version": "8.1.6", + "version": "8.2.0-13", "description": "A2J Viewer standalone and preview app.", "main": "a2jviewer/app", "scripts": { diff --git a/src/footer/footerVersion.js b/src/footer/footerVersion.js index 79f74147..e98643f2 100644 --- a/src/footer/footerVersion.js +++ b/src/footer/footerVersion.js @@ -1,7 +1,7 @@ const version = { - number: '8.1.6', - date: '2023-10-16' + number: '8.2.0-13', + date: '2024-03-28' } export default version diff --git a/src/mobile/pages/fields/field/field.js b/src/mobile/pages/fields/field/field.js index 112998cd..8c56dc4a 100644 --- a/src/mobile/pages/fields/field/field.js +++ b/src/mobile/pages/fields/field/field.js @@ -310,7 +310,38 @@ export const FieldVM = DefineMap.extend('FieldVM', { } else if (field.type === 'datemdy') { // format date to (mm/dd/yyyy) from acceptable inputs value = this.normalizeDateInput($el.val()) + + // date bounds are in 6 or 8 digit texts + // need to change to same format as value + // it would be sensible to keep bounds in this + // format but we need to support it to properly + // support older released guides without adding + // more complex code + + if (field.hasOwnProperty('max')) { + let maxDate = + field.max.substr(0, 2) + '/' + + field.max.substr(2, 2) + '/' + + field.max.substr(4) + + if (Date.parse(value) > Date.parse(maxDate)) { + value = maxDate + } + } + + if (field.hasOwnProperty('min')) { + let minDate = + field.min.substr(0, 2) + '/' + + field.min.substr(2, 2) + '/' + + field.min.substr(4) + + if (Date.parse(value) < Date.parse(minDate)) { + value = minDate + } + } + // render formatted date for end user + $el.val(value) } else { value = $el.val() diff --git a/src/mobile/pages/pages.js b/src/mobile/pages/pages.js index 4b01423b..fe17adda 100644 --- a/src/mobile/pages/pages.js +++ b/src/mobile/pages/pages.js @@ -84,6 +84,37 @@ export default Component.extend({ } }, + 'a.learn-more click': function fireLearnMoreModal () { + // this is almost a line for line duplicate + // of src/desktop/steps.js + // should probably refactor + const vm = this.viewModel + const pages = this.viewModel.interview.pages + const pageName = this.viewModel.currentPage.name + // vm.appState.page + + if (pages && pageName) { + const page = pages.find(pageName) + + // piwik tracking of learn-more clicks + if (window._paq) { + analytics.trackCustomEvent('Learn-More', 'from: ' + pageName, page.learn) + } + + vm.appState.modalContent = { + // name undefined prevents stache warnings + title: page.learn, + text: page.help, + imageURL: (page.helpImageURL || '').trim(), + altText: page.helpAltText, + mediaLabel: page.helpMediaLabel, + audioURL: (page.helpAudioURL || '').trim(), + videoURL: (page.helpVideoURL || '').trim(), + helpReader: page.helpReader + } + } + }, + 'button.open-preview click': function (el, ev) { ev.preventDefault() diff --git a/src/mobile/pages/pages.stache b/src/mobile/pages/pages.stache index 5e491823..2c18e2e9 100644 --- a/src/mobile/pages/pages.stache +++ b/src/mobile/pages/pages.stache @@ -52,7 +52,15 @@ {{#for(button of currentPage.buttons)}} diff --git a/src/mobile/util/tlang.js b/src/mobile/util/tlang.js index 93b513ea..519467ab 100644 --- a/src/mobile/util/tlang.js +++ b/src/mobile/util/tlang.js @@ -22,6 +22,7 @@ export default function (lang, makestr) { Dutch English French + Hebrew Hmong Korean Mon Khmer @@ -161,6 +162,9 @@ export default function (lang, makestr) { Ordinals_12: 'twelfth', Ordinals_13: '13th', RepeatAnd: 'and', + Show_Navigation: 'Show Navigation', + Navigation_Panel: 'Navigation Panel', + Open: 'Open', // Authoring system, non-translated elements. // Tab names @@ -1297,5 +1301,80 @@ export default function (lang, makestr) { RepeatAnd: 'และ' } + Languages.regional.he = { + locale: 'he', + Language: 'עברית', + LanguageEN: 'Hebrew', + AskYesNo_Yes: 'כן', + AskYesNo_No: 'לא', + Close: 'סגור', + Comment: 'הערה', + GoBack: 'חזרה', + GoNext: 'הבא', + LearnMore: 'קריאה נוספת', + MyProgress: 'ההתקדמות שלי', + ProvideFeedbackOrComment: 'משוב על עמוד זה', + SaveAndExit: 'שמור וצא', + ResumeExit: 'התחלה מחדש', + SendFeedback: 'שלח משוב', + SoundIsOff: 'צליל מושתק', + SoundIsOn: 'צליל פועל', + SoundPlay: 'הפעל', + SoundStop: 'עצור', + WhatDoYouMean: 'מה הכוונה?', + Continue: 'המשך', + Exit: 'יציאה ללא שמירה', + Male: 'זכר', + Female: 'נקבה', + ChooseListNumber: 'בחירה: ', + ChooseListText: 'בחר מרשימה זו: ', + CheckBoxNOTALabel: 'אף אחד מהתשובות', + ZoomNormal: 'גודל רגיל', + ZoomFull: 'מסך מלא', + TextEnlarge: 'הגדל תיבת טקסט', + TextShrink: 'הקטן תיבת טקסט', + TextSizeLetter: 'א', + UploadAnswers: 'יוצא, נא להמתין...', + CalcClear: 'נקה', + CalcEnter: 'הכנס', + MonthNamesShort: "ינו', פבר', מרץ, אפר', מאי, יוני, יולי, אוג', ספט', אוק', נוב', דצמ'", + MonthNamesLong: 'ינואר, פברואר, מרץ, אפריל, מאי, יוני, יולי, ספטמבר, אוקטובר, נובמבר, דצמבר', + FieldPrompts_ResponseRequired: 'חובה למלא תשובה בקווים הריקים ליד התיוג האדום לפני שממשיכים.', + FieldPrompts_SelectionRequired: 'חובה לבצע בחירה לפני שממשיכים.', + FieldPrompts_text: 'חובה להקליד תשובה במקומות הממורקרים לפני שממשיכים.', + FieldPrompts_textlong: 'חובה להקליד תשובה במקומות הממורקרים לפני שממשיכים.', + FieldPrompts_textpick: 'חובה לבחור מתוך המקום הממורקר לפני שממשיכים.', + FieldPrompts_number: 'חובה הלקליד מספר במקום הממורקר לפני שממשיכים.', + FieldPrompts_numberdollar: 'חובה להכניס סימן דולר במקום הממורקר לפני שממשיכים.', + FieldPrompts_numberssn: "חובה להכניס מס' תעודת זהות במקום הממורקר לפני שממשיכים.", + FieldPrompts_numberphone: "חובה להקליד מס' טלפון במקום הממורקר לפני שממשיכים.", + FieldPrompts_numberzip: 'חובה להקליד מיקוד במקום הממורקר לפני שממשיכים.', + FieldPrompts_numberpick: 'חובה לבחור מספר מתוך המקום הממורקר לפני שממשיכים.', + FieldPrompts_datemdy: 'חובה להקליד חודש, יום ושנה במקום הממורקר לפני שממשיכים.', + FieldPrompts_gender: 'בחרו אוואטר שייצג אותך.', + FieldPrompts_radio: 'חובה לבחור תגובה מתוך הבחירה הממורקרת לפני שממשיכים.', + FieldPrompts_checkbox: 'חובה לבחור אפשרות אחת או כמה לפני שממשיכים.', + FieldPrompts_checkboxNOTA: 'בחרו בבקשה אפשרות אחת או יותר או "אף אחת מהתשובות" לפני שממשיכים.', + Ordinals_1: 'ראשון', + Ordinals_2: 'שני', + Ordinals_3: 'שלישי', + Ordinals_4: 'רביעי', + Ordinals_5: 'חמישי', + Ordinals_6: 'שישי', + Ordinals_7: 'שביעי', + Ordinals_8: 'שמיני', + Ordinals_9: 'תשיעי', + Ordinals_10: 'עשירי', + Ordinals_11: 'אחד עשר', + Ordinals_12: 'שנים עשר', + Ordinals_13: 'שלושה עשר', + RepeatAnd: 'וגם', + Required: 'חובה', + Show_Navigation: 'הראה ניווט', + Navigation_Panel: 'לוח ניווט', + Open: 'לִפְתוֹחַ' + + } + return Languages }