Skip to content

Commit

Permalink
add improved date bounds for date field
Browse files Browse the repository at this point in the history
  • Loading branch information
tobiasnteireho committed Oct 18, 2024
2 parents f77b7b7 + 7593f0f commit aebaad0
Show file tree
Hide file tree
Showing 10 changed files with 173 additions and 62 deletions.
6 changes: 4 additions & 2 deletions CAJA_WS.php
Original file line number Diff line number Diff line change
Expand Up @@ -573,7 +573,7 @@
$sql="insert into guides (title,editoruid) values ('".$mysqli->real_escape_string($title)."', ".$userid.")";
// If this fails on blank interview, likely `archive` Field in guides db needs to be ticked to allow default value of null
// Also make sure `archive` Field in guides db is set to 0 for default value
if ($res=$mysqli->query($sql)) {
if ($res=$mysqli->query($sql)) {
// Save as content to new folder owned by editor
$newgid=$mysqli->insert_id;
$userdir=$_SESSION['userdir'];
Expand All @@ -584,7 +584,9 @@
$newfile = $newdir.'/Guide.xml';
// ex: some/sever/path/userfiles/dev/guides/Guide924
$assetsdir = GUIDES_DIR.$newdir;
mkdir($assetsdir);

error_log("changing permissions fix for mac" . $assetsdir);
mkdir($assetsdir, 0775, true);
$filename=GUIDES_DIR.$newfile;
// create default Guide.xml and Guide.json
file_put_contents($filename,$xml);
Expand Down
2 changes: 1 addition & 1 deletion index.dev.html
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,6 @@
window.less = {async: true, fileSync: true};
</script>

<script src=node_modules/steal/steal.production.js?v=1727881226947" cache-key="v" cache-version="1727881226947" main="a2jauthor/app"></script>
<script src=node_modules/steal/steal.production.js?v=1727882448751" cache-key="v" cache-version="1727882448751" main="a2jauthor/app"></script>
</body>
</html>
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,6 @@
window.less = {async: true, fileSync: true};
</script>

<script src=node_modules/steal/steal.production.js?v=1727882448751" cache-key="v" cache-version="1727882448751" main="a2jauthor/app"></script>
<script src=node_modules/steal/steal.production.js?v=1729277272845" cache-key="v" cache-version="1729277272845" main="a2jauthor/app"></script>
</body>
</html>
42 changes: 0 additions & 42 deletions index.production.html

This file was deleted.

79 changes: 79 additions & 0 deletions legacy/viewer/A2J_Languages.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Currently supported languages:
Chinese-Simplified
Korean
French
Hebrew
Polish
Russian
Dutch
Expand Down Expand Up @@ -229,6 +230,9 @@ Languages.regional.en = {
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
Expand Down Expand Up @@ -1365,6 +1369,81 @@ Languages.regional.th = {
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:'לִפְתוֹחַ',

}

if ($.datepicker) {
jQuery(function ($) {
/* Save the English in case author switches back */
Expand Down
14 changes: 7 additions & 7 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
},
"dependencies": {
"@caliorg/a2jdeps": "^7.1.7",
"@caliorg/a2jviewer": "^8.2.0-16",
"@caliorg/a2jviewer": "^8.2.0-18",
"bit-tabs": "^2.0.0",
"blueimp-file-upload": "^9.10.1",
"bootstrap": "^3.4.1",
Expand Down
2 changes: 1 addition & 1 deletion src/footer/footerVersion.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

const version = {
number: '10.2.0-5',
date: '2024-10-09'
date: '2024-10-18'
}

export default version
41 changes: 41 additions & 0 deletions src/pages-tab/components/page-fields/page-fields.js
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,47 @@ export const PageFieldsVM = DefineMap.extend('PageFieldsVM', {
return el.value
},

setBound (el) {
},

checktoToday (el) {
return el.checked ? 'TODAY' : ''
},

parseDateBound (boundedDate) {
let textDate = '' // assume unfilled

if (boundedDate) {
if (boundedDate !== 'TODAY') {
textDate =
boundedDate.substr(4) + '-' +
boundedDate.substr(0, 2) + '-' +
boundedDate.substr(2, 2)
}
}

return textDate
},

toggleDateBoundEnable (el) {
$(el).prop('disabled', !$(el).prop('disabled'))
},

mangleDateBound (el) {
let str = el.value.split(',').join('')
str = str.split('-').join('')
console.log('JAWN: ' + str)

str =
str.substr(4, 2) + '/' +
str.substr(6, 2) + '/' +
str.substr(0, 4)

str = str.match(new RegExp(el.pattern || '.', 'g')).join('')

return str
},

applyPattern (el) {
el.value = el.value.match(new RegExp(el.pattern || '.', 'g')).join('')
return el.value
Expand Down
45 changes: 38 additions & 7 deletions src/pages-tab/components/page-fields/page-fields.stache
Original file line number Diff line number Diff line change
Expand Up @@ -108,20 +108,51 @@
</div>
{{#if(fieldVM.canMinMax)}}
<div class="editspan form-group" name="min">

<label class="control-label">Min Value:</label>
<input class="form-control ui-widget editable" type="text" placeholder="min"
value:bind="fieldVM.field.min"
<input class="form-control ui-widget editable"
type="date" placeholder="min"
id="min-date"
pattern="TODAY|(?:^-(?=.*\d))|\d*"
on:blur="fieldVM.field.min = applyPattern(scope.element)"
value="{{parseDateBound(field.field.min)}}"
on:blur="field.field.min = mangleDateBound(scope.element)"
{{ #eq(field.field.min, "TODAY")}} disabled {{/eq}}
>

<div name="today-min" class="{{^if(field.canRequire)}}hidden{{/if}}">
<div class="checkbox">
<label>
<input type="checkbox"
{{ #eq(field.field.min, "TODAY")}} checked {{/eq}}
on:blur="field.field.min = checktoToday(scope.element)"
on:click="toggleDateBoundEnable('#min-date')"
value:bind="field.field.min"
value="TODAY"> TODAY
</label>
</div>
</div>
</div>
<div class="editspan form-group" name="max">
<div>
<label class="control-label">Max Value:</label>
<input class="form-control ui-widget editable" type="text" placeholder="max"
value:bind="fieldVM.field.max"
<input class="form-control ui-widget editable"
type="date" placeholder="max"
id="max-date"
value="{{parseDateBound(field.field.max)}}"
pattern="TODAY|(?:^-(?=.*\d))|\d*"
on:blur="fieldVM.field.max = applyPattern(scope.element)"
{{ #eq(field.field.max, "TODAY")}} disabled {{/eq}}
on:blur="field.field.max = mangleDateBound(scope.element)"
>
<div name="today-max" class="{{^if(field.canRequire)}}hidden{{/if}}">
<div class="checkbox">
<label>
<input type="checkbox"
{{ #eq(field.field.max, "TODAY")}} checked {{/eq}}
on:blur="field.field.max = TODAY"
on:click="toggleDateBoundEnable('#max-date')"
value="TODAY"> TODAY
</label>
</div>
</div>
</div>
{{/if}}
{{#if(fieldVM.canList)}}
Expand Down

0 comments on commit aebaad0

Please sign in to comment.