nightly commit
This commit is contained in:
@@ -171,7 +171,7 @@ precompiledLoopRules = (
|
||||
)
|
||||
|
||||
precompiledLoopStopRules = {
|
||||
'infinity': re.compile(r'F'),
|
||||
'infinity': re.compile(r'^F$'),
|
||||
'datetime': re.compile(r'^D([1-9]\d*|0)$'),
|
||||
'times': re.compile(r'^T([1-9]\d*)$')
|
||||
}
|
||||
|
||||
@@ -9,3 +9,9 @@ div.control-list > * {
|
||||
margin-bottom: 0.75rem;
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#ccn-event-eventFormBody > section {
|
||||
border-top: 1px solid rgba(219,219,219,.5);
|
||||
}
|
||||
@@ -10,8 +10,72 @@ ccn_datetime_MAX_TIMESTAMP = Math.floor(ccn_datetime_MAX_DATETIME.getTime() / 60
|
||||
ccn_datetime_DAY1_SPAN = 60 * 24;
|
||||
ccn_datetime_DAY7_SPAN = 7 * ccn_datetime_DAY1_SPAN;
|
||||
|
||||
ccn_datetime_precompiledLoopRules = {
|
||||
year: new RegExp(/^Y([SR]{1})([1-9]\d*)$/),
|
||||
month: new RegExp(/^M([SR]{1})([ABCD]{1})([1-9]\d*)$/),
|
||||
week: new RegExp(/^W([TF]{7})([1-9]\d*)$/),
|
||||
day: new RegExp(/^D([1-9]\d*)$/)
|
||||
};
|
||||
|
||||
ccn_datetime_precompiledLoopStopRules = {
|
||||
infinity: new RegExp(/^F$/),
|
||||
datetime: new RegExp(/^D([1-9]\d*|0)$/),
|
||||
times: new RegExp(/^T([1-9]\d*)$/)
|
||||
}
|
||||
|
||||
/*
|
||||
return format
|
||||
[loopRules, loopStopRules] or undefined(invalid or no loop)
|
||||
|
||||
loopRules:
|
||||
year loop: [0, isStrict, yearSpan]
|
||||
month loop: [1, isStrict, monthMode, monthSpan]
|
||||
week loop: [2, 7 bool item..., weekSpan]
|
||||
day loop: [3, daySpan]
|
||||
|
||||
loopStopRules:
|
||||
infinity: [0]
|
||||
datetime: [1, timestamp]
|
||||
times: [2, times]
|
||||
*/
|
||||
function ccn_datetime_ResolveLoopRules4UI(strl) {
|
||||
if (strl == '') return undefined;
|
||||
|
||||
sp = strl.split('-');
|
||||
if (sp.length != 2) return undefined;
|
||||
var loopRules = undefined;
|
||||
var loopStopRules = undefined;
|
||||
|
||||
if (ccn_datetime_precompiledLoopRules.year.test(sp[0])) {
|
||||
loopRules = [1, RegExp.$1 == 'S', parseInt(RegExp.$2)];
|
||||
} else if (ccn_datetime_precompiledLoopRules.month.test(sp[0])) {
|
||||
loopRules = [2, RegExp.$1 == 'S', RegExp.$2, parseInt(RedExp.$3)];
|
||||
} else if (ccn_datetime_precompiledLoopRules.week.test(sp[0])) {
|
||||
loopRules = [3];
|
||||
for (index in RegExp.$1) loopRules.push(RegExp.$1[index] == 'T');
|
||||
loopRules.push(parseInt(RegExp.$2));
|
||||
} else if (ccn_datetime_precompiledLoopRules.day.test(sp[0])) {
|
||||
loopRules = [4, parseInt(RegExp.$1)];
|
||||
} else return undefined;
|
||||
|
||||
|
||||
if (ccn_datetime_precompiledLoopStopRules.infinity.test(sp[1])) {
|
||||
loopStopRules = [0];
|
||||
} else if (ccn_datetime_precompiledLoopStopRules.datetime.test(sp[1])) {
|
||||
loopStopRules = [1, parseInt(RegExp.$1)];
|
||||
} else if (ccn_datetime_precompiledLoopStopRules.times.test(sp[1])) {
|
||||
loopStopRules = [2, parseInt(RegExp.$1)];
|
||||
} else return undefined;
|
||||
|
||||
return [loopRules, loopStopRules];
|
||||
}
|
||||
|
||||
function ccn_datetime_ResolveLoopRules4Event(strl) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
function ccn_datetime_IsLeapYear(year) {
|
||||
var isLeap = true;
|
||||
var isLeap = false;
|
||||
if (year % 4 == 0) isLeap = true;
|
||||
if (year % 100 == 0) isLeap = false;
|
||||
if (year % 400 == 0) isLeap = true;
|
||||
|
||||
@@ -5,13 +5,13 @@ function ccn_datetimepicker_Init() {
|
||||
.attr('max', ccn_datetime_MAX_YEAR)
|
||||
.attr('step', 1)
|
||||
.val(nowtime.getFullYear())
|
||||
.bind('propertychange', ccn_datetimepicker_Sync);
|
||||
.bind('input propertychange', ccn_datetimepicker_Sync);
|
||||
|
||||
$('.datetimepicker-month').attr('min', 1)
|
||||
.attr('max', 12)
|
||||
.attr('step', 1)
|
||||
.val(nowtime.getMonth() + 1)
|
||||
.bind('propertychange', ccn_datetimepicker_Sync);
|
||||
.bind('input propertychange', ccn_datetimepicker_Sync);
|
||||
|
||||
$('.datetimepicker-day').attr('min', 1)
|
||||
.attr('step', 1)
|
||||
@@ -37,8 +37,8 @@ function ccn_datetimepicker_Sync() {
|
||||
}
|
||||
|
||||
function ccn_datetimepicker_SyncEx(pickerIndex) {
|
||||
year = $('.datetimepicker-year[datetimepicker=' + pickerIndex + ']').val();
|
||||
month = $('.datetimepicker-month[datetimepicker=' + pickerIndex + ']').val();
|
||||
year = parseInt($('.datetimepicker-year[datetimepicker=' + pickerIndex + ']').val());
|
||||
month = parseInt($('.datetimepicker-month[datetimepicker=' + pickerIndex + ']').val());
|
||||
|
||||
dayDOM = $('.datetimepicker-day[datetimepicker=' + pickerIndex + ']');
|
||||
if (typeof(year) == 'undefined' || typeof(month) == 'undefined') {
|
||||
@@ -70,5 +70,5 @@ function ccn_datetimepicker_Get(pickerIndex) {
|
||||
if (IsUndefinedOrEmpty(hour)) hour = 0;
|
||||
if (IsUndefinedOrEmpty(minute)) minute = 0;
|
||||
|
||||
return new Date(year, month - 1, day, hour, minute, 0, 0);
|
||||
return new Date(year, parseInt(month) - 1, day, hour, minute, 0, 0);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
// if it is undefined, current mode is add
|
||||
// or it is the detail data gotten from api
|
||||
var ccn_event_editingEvent = undefined;
|
||||
var ccn_event_collectionCache = [];
|
||||
|
||||
$(document).ready(function() {
|
||||
ccn_pages_currentPage = ccn_pages_enumPages.event;
|
||||
|
||||
@@ -17,8 +22,25 @@ $(document).ready(function() {
|
||||
ccn_i18n_LoadLanguage();
|
||||
ccn_i18n_ApplyLanguage();
|
||||
|
||||
// init datetimepicker
|
||||
ccn_datetimepicker_Init();
|
||||
// bind event
|
||||
$('input[type=radio][name=loop-method]').click(ccn_event_RefreshRadioDiaplay);
|
||||
$('input[type=radio][name=loop-end]').click(ccn_event_RefreshRadioDiaplay);
|
||||
|
||||
// init form
|
||||
ccn_event_Init();
|
||||
|
||||
// refresh once
|
||||
ccn_event_RefreshRadioDiaplay();
|
||||
ccn_event_RefreshLoopMonthType();
|
||||
});
|
||||
|
||||
|
||||
function ccn_event_Init() {
|
||||
// we need init some elements first
|
||||
|
||||
// we need all radio and checkbox's checked is false, not undefined.
|
||||
$('input[type=radio]').prop("checked", false);
|
||||
$('input[type=checkbox]').prop("checked", false);
|
||||
|
||||
// init span picker
|
||||
$('.spanpicker').attr('max', 100)
|
||||
@@ -26,48 +48,170 @@ $(document).ready(function() {
|
||||
.attr('step', 1)
|
||||
.val(1);
|
||||
|
||||
// refresh once
|
||||
// now, init 3 datetimepicker
|
||||
ccn_datetimepicker_Init();
|
||||
|
||||
// in there, we need get uuid from meta
|
||||
var uuid = $('meta[name=uuid]').attr('content');
|
||||
if (uuid != "")
|
||||
ccn_event_editingEvent = ccn_api_calendar_getDetail(uuid);
|
||||
// if ccn_event_editingEvent is undefined, init following content with add mode
|
||||
// otherwise, init as update mode
|
||||
var isAdd = typeof(ccn_event_editingEvent) == 'undefined';
|
||||
|
||||
// bind event
|
||||
|
||||
});
|
||||
|
||||
|
||||
function ccn_event_Deploy() {
|
||||
var isAdd = typeof(ccn_calendar_eventModal_editing) == 'undefined';
|
||||
// init title and description
|
||||
$('#ccn-event-inputTitle').val(
|
||||
isAdd ? '' : ccn_calendar_eventModal_editing[2]
|
||||
isAdd ? '' : ccn_event_editingEvent[2]
|
||||
);
|
||||
$('#ccn-event-inputDescription').val(
|
||||
isAdd ? '' : ccn_calendar_eventModal_editing[3]
|
||||
isAdd ? '' : ccn_event_editingEvent[3]
|
||||
);
|
||||
|
||||
// we also need render eventModal collection select
|
||||
// init collection picker, first we need query data
|
||||
// and render it
|
||||
var collectionDOM = $('#ccn-event-inputCollection');
|
||||
collectionDOM.options.length = 0;
|
||||
for(var index in ccn_calendar_eventModal_collectionCache) {
|
||||
var uuid = ccn_calendar_eventModal_collectionCache[index];
|
||||
collectionDOM.add(new Option(
|
||||
collectionDOM.empty();
|
||||
ccn_event_collectionCache = new Array();
|
||||
var result = ccn_api_collection_getFullOwn();
|
||||
if (typeof(result) != 'undefined') {
|
||||
var renderdata = {
|
||||
val: undefined,
|
||||
name: undefined
|
||||
}
|
||||
|
||||
));
|
||||
for (var index in result) {
|
||||
var item = result[index];
|
||||
ccn_event_collectionCache.push(item[0])
|
||||
renderdata.val = item[0];
|
||||
renderdata.name = item[1];
|
||||
collectionDOM.append(
|
||||
ccn_template_optionItem.render(renderdata)
|
||||
);
|
||||
}
|
||||
}
|
||||
$('#ccn-event-inputCollection').selectedIndex = isAdd ? -1 : ccn_calendar_eventModal_collectionCache.indexOf(ccn_calendar_eventModal_editing[1]);
|
||||
// in add mode, set as -1, otherwise try to match original data
|
||||
// indexOf will return -1 if no matched item
|
||||
collectionDOM.val(isAdd ? '' : ccn_calendar_eventModal_editing[1]);
|
||||
|
||||
var currentDateTime = new Date();
|
||||
currentDateTime.setMilliseconds(0);
|
||||
currentDateTime.setSeconds(0);
|
||||
currentDateTime.setMinutes(0);
|
||||
ccn_datetimepicker_Set(1, currentDateTime);
|
||||
// init start and end datetime
|
||||
if (isAdd) {
|
||||
// in add mode, init 2 datetime picker as close hours based time.
|
||||
var currentDateTime = new Date();
|
||||
currentDateTime.setMilliseconds(0);
|
||||
currentDateTime.setSeconds(0);
|
||||
currentDateTime.setMinutes(0);
|
||||
ccn_datetimepicker_Set(1, currentDateTime);
|
||||
|
||||
currentDateTime.setHours(currentDateTime.getHours() + 2);
|
||||
ccn_datetimepicker_Set(2, currentDateTime);
|
||||
// time span is 2 hours
|
||||
currentDateTime.setHours(currentDateTime.getHours() + 2);
|
||||
ccn_datetimepicker_Set(2, currentDateTime);
|
||||
} else {
|
||||
// in update mode, match it with original data
|
||||
var originalDateTime = new Date(ccn_event_editingEvent[5] * 60000);
|
||||
ccn_datetimepicker_Set(1, originalDateTime);
|
||||
|
||||
originalDateTime = new Date(ccn_event_editingEvent[6] * 60000);
|
||||
ccn_datetimepicker_Set(2, originalDateTime);
|
||||
}
|
||||
|
||||
// setup timezone here
|
||||
// to prevent some error
|
||||
// because following isAdd will change its meaning
|
||||
$('#ccn-event-timezone-radioKeep').prop('checked', true); // give a default value
|
||||
var nowtime = new Date();
|
||||
SmarterShowHide(
|
||||
(!isAdd) && nowtime.getTimezoneOffset() != ccn_event_editingEvent[7],
|
||||
$('#ccn-event-boxTimezone')
|
||||
);
|
||||
|
||||
// ========================
|
||||
// now we need resolve loop rules and set related data
|
||||
if (!isAdd) {
|
||||
data = ccn_datetime_ResolveLoopRules4UI(ccn_event_editingEvent[8]);
|
||||
if (typeof(data) == 'undefined') isAdd = true; // init as add
|
||||
}
|
||||
|
||||
// give some value with a default value
|
||||
$('#ccn-event-loopMonth-radioA').prop('checked', true);
|
||||
var weekDate = undefined;
|
||||
if (isAdd) weekDate = nowtime;
|
||||
else weekDate = new Date(ccn_event_editingEvent[5] * 60000);
|
||||
$('#ccn-event-loopWeek-check' + (weekDate.getDay() + 1)).prop('checked', true);
|
||||
|
||||
// real process
|
||||
if (isAdd) $('#ccn-event-radioLoopNever').prop('checked', true);
|
||||
else {
|
||||
switch(data[0][0]) {
|
||||
case 0:
|
||||
$('#ccn-event-radioLoopYear').prop('checked', true);
|
||||
$('#ccn-event-loopYear-inputSpan').val(data[0][2]);
|
||||
break;
|
||||
case 1:
|
||||
$('#ccn-event-radioLoopMonth').prop('checked', true);
|
||||
$('#ccn-event-loopMonth-inputSpan').val(data[0][3]);
|
||||
$('#ccn-event-loopMonth-radio' + data[0][2]).prop('checked', true);
|
||||
break;
|
||||
case 2:
|
||||
$('#ccn-event-radioLoopWeek').prop('checked', true);
|
||||
$('#ccn-event-loopWeek-inputSpan').val(data[0][8]);
|
||||
for(var i = 1; i <= 7; i++) {
|
||||
$('#ccn-event-loopWeek-check' + i).prop('checked', data[0][i]);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
$('#ccn-event-radioLoopDay').prop('checked', true);
|
||||
$('#ccn-event-loopDay-inputSpan').val(data[0][1]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isAdd) {
|
||||
$('#ccn-event-loopStop-radioForever').prop('checked', true);
|
||||
ccn_datetimepicker_Set(3, nowtime);
|
||||
} else {
|
||||
switch(data[1][0]) {
|
||||
case 0:
|
||||
$('#ccn-event-loopStop-radioForever').prop('checked', true);
|
||||
break;
|
||||
case 1:
|
||||
$('#ccn-event-loopStop-radioDateTime').prop('checked', true);
|
||||
var stopDatetime = new Date(data[1][1] * 60000);
|
||||
ccn_datetimepicker_Set(3, stopDatetime);
|
||||
break;
|
||||
case 2:
|
||||
$('#ccn-event-loopStop-radioTimes').prop('checked', true);
|
||||
$('#ccn-event-loopStop-inputTimes').val(data[1][1]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function ccn_event_Refresh() {
|
||||
// refresh some ui element according to form options
|
||||
function ccn_event_RefreshRadioDiaplay() {
|
||||
// loop method
|
||||
// note: no loop control loop stop's display
|
||||
// note: year and month loop also control strict mode display
|
||||
SmarterShowHide(!$('#ccn-event-radioLoopNever').prop('checked'), $('#ccn-event-boxLoopStop'));
|
||||
|
||||
SmarterShowHide($('#ccn-event-radioLoopDay').prop('checked'), $('#ccn-event-boxLoopDay'));
|
||||
SmarterShowHide($('#ccn-event-radioLoopWeek').prop('checked'), $('#ccn-event-boxLoopWeek'));
|
||||
SmarterShowHide($('#ccn-event-radioLoopMonth').prop('checked'), $('#ccn-event-boxLoopMonth'));
|
||||
SmarterShowHide($('#ccn-event-radioLoopYear').prop('checked'), $('#ccn-event-boxLoopYear'));
|
||||
|
||||
SmarterShowHide(
|
||||
$('#ccn-event-radioLoopMonth').prop('checked') || $('#ccn-event-radioLoopYear').prop('checked'),
|
||||
$('#ccn-event-boxStrictMode')
|
||||
);
|
||||
|
||||
// loop stop
|
||||
SmarterShowHide($('#ccn-event-loopStop-radioForever').prop('checked'), undefined);
|
||||
SmarterShowHide($('#ccn-event-loopStop-radioDateTime').prop('checked'), $('#ccn-event-boxLoopStopDateTime'));
|
||||
SmarterShowHide($('#ccn-event-loopStop-radioTimes').prop('checked'), $('#ccn-event-boxLoopStopTimes'));
|
||||
|
||||
}
|
||||
|
||||
function ccn_event_RefreshLoopMonthType() {
|
||||
|
||||
}
|
||||
|
||||
@@ -75,3 +219,4 @@ function ccn_event_Refresh() {
|
||||
function ccn_event_Get() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ var ccn_template_displayOwnedItem = undefined;
|
||||
var ccn_template_displaySharedItem = undefined;
|
||||
var ccn_template_userItem = undefined;
|
||||
var ccn_template_todoItem = undefined;
|
||||
var ccn_template_optionItem = undefined;
|
||||
|
||||
function ccn_template_Load() {
|
||||
$.ajax({
|
||||
@@ -104,6 +105,13 @@ function ccn_template_Load() {
|
||||
}
|
||||
});
|
||||
case ccn_pages_enumPages.event:
|
||||
break;
|
||||
$.ajax({
|
||||
url: $("#jsrender-tmpl-optionItem").attr('src'),
|
||||
type: "GET",
|
||||
async: false,
|
||||
success: function (data) {
|
||||
ccn_template_optionItem = $.templates(data);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -44,3 +44,9 @@ function LineBreaker2Br(strl) {
|
||||
function IsUndefinedOrEmpty(data) {
|
||||
return (typeof(data) == 'undefined' || data == "");
|
||||
}
|
||||
|
||||
function SmarterShowHide(boolean, element) {
|
||||
if (typeof(element) == 'undefined') return;
|
||||
if (boolean) element.show();
|
||||
else element.hide();
|
||||
}
|
||||
1
src/static/tmpl/optionItem.tmpl
Normal file
1
src/static/tmpl/optionItem.tmpl
Normal file
@@ -0,0 +1 @@
|
||||
<option value="{{:val}}">{{>name}}</option>
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
<script type="text/x-jsrender" id="jsrender-tmpl-headerNav" src="/static/tmpl/headerNav.tmpl"></script>
|
||||
<script type="text/x-jsrender" id="jsrender-tmpl-messagebox" src="/static/tmpl/messagebox.tmpl"></script>
|
||||
<script type="text/x-jsrender" id="jsrender-tmpl-optionItem" src="/static/tmpl/optionItem.tmpl"></script>
|
||||
|
||||
<script type="text/javascript" src="/static/js/localStorageAssist.js"></script>
|
||||
<script type="text/javascript" src="/static/js/datetime.js"></script>
|
||||
@@ -35,310 +36,310 @@
|
||||
<body>
|
||||
|
||||
<!-- add is-active in class to show this-->
|
||||
<div style="margin-top: 20px;">
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p i18n-name="ccn-i18n-event-header" class="modal-card-title"></p>
|
||||
<a id="ccn-event-btnClose" class="delete" aria-label="close"></a>
|
||||
</header>
|
||||
<div class="modal-card-body" style="word-break: break-all;">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-title"></label>
|
||||
<div class="control">
|
||||
<input id="ccn-event-inputTitle" class="input" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-description"></label>
|
||||
<div class="control">
|
||||
<textarea id="ccn-event-inputDescription" class="textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ccn-event-eventFormBody" class="container" style="margin-top: 20px;">
|
||||
<h1 i18n-name="ccn-i18n-event-header" class="title"></h1>
|
||||
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-collection"></label>
|
||||
<div class="control">
|
||||
<div class="select">
|
||||
<select id="ccn-event-inputCollection"></select>
|
||||
</div>
|
||||
</div>
|
||||
<section class="section">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-title"></label>
|
||||
<div class="control">
|
||||
<input id="ccn-event-inputTitle" class="input" type="text">
|
||||
</div>
|
||||
|
||||
<label class="label" i18n-name="ccn-i18n-event-startDateTime"></label>
|
||||
<div class="control-list">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-year"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="1" class="input datetimepicker-year" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-month"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="1" class="input datetimepicker-month" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-day"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="1" class="input datetimepicker-day" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-hour"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="1" class="input datetimepicker-hour" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-minute"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="1" class="input datetimepicker-minute" type="number">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-description"></label>
|
||||
<div class="control">
|
||||
<textarea id="ccn-event-inputDescription" class="textarea"></textarea>
|
||||
</div>
|
||||
|
||||
<label class="label" i18n-name="ccn-i18n-event-endDateTime"></label>
|
||||
<div class="control-list">
|
||||
<div class="control">
|
||||
<a id="ccn-event-btnSpot" class="button is-link" i18n-name="ccn-i18n-event-btnSpot"></a>
|
||||
</div>
|
||||
<div class="control">
|
||||
<a id="ccn-event-btnFullDay" class="button is-link" i18n-name="ccn-i18n-event-btnFullDay"></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-list">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-year"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="2" class="input datetimepicker-year" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-month"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="2" class="input datetimepicker-month" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-day"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="2" class="input datetimepicker-day" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-hour"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="2" class="input datetimepicker-hour" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-minute"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="2" class="input datetimepicker-minute" type="number">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label class="label" i18n-name="ccn-i18n-event-loop"></label>
|
||||
<div class="control-list">
|
||||
<label class="radio">
|
||||
<input id="ccn-event-radioLoopNever" type="radio" name="loop-method">
|
||||
<span i18n-name="ccn-i18n-event-loop-never"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-radioLoopDay" type="radio" name="loop-method">
|
||||
<span i18n-name="ccn-i18n-event-loop-day"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-radioLoopWeek" type="radio" name="loop-method">
|
||||
<span i18n-name="ccn-i18n-event-loop-week"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-radioLoopMonth" type="radio" name="loop-method">
|
||||
<span i18n-name="ccn-i18n-event-loop-month"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-radioLoopYear" type="radio" name="loop-method">
|
||||
<span i18n-name="ccn-i18n-event-loop-year"></span>
|
||||
</label>
|
||||
</div>
|
||||
<div id="ccn-event-boxLoopDay">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-loopDay-span"></label>
|
||||
<div class="control">
|
||||
<input id="ccn-event-loopDay-inputSpan" class="input spanpicker" type="number">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ccn-event-boxLoopWeek">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-loopWeek-span"></label>
|
||||
<div class="control">
|
||||
<input id="ccn-event-loopWeek-inputSpan" class="input spanpicker" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-loopWeek-option"></label>
|
||||
<div class="control-list">
|
||||
<label class="checkbox">
|
||||
<input id="ccn-event-loopWeek-check1" type="checkbox">
|
||||
<span i18n-name="ccn-i18n-universal-week-1"></span>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input id="ccn-event-loopWeek-check2" type="checkbox">
|
||||
<span i18n-name="ccn-i18n-universal-week-2"></span>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input id="ccn-event-loopWeek-check3" type="checkbox">
|
||||
<span i18n-name="ccn-i18n-universal-week-3"></span>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input id="ccn-event-loopWeek-check4" type="checkbox">
|
||||
<span i18n-name="ccn-i18n-universal-week-4"></span>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input id="ccn-event-loopWeek-check5" type="checkbox">
|
||||
<span i18n-name="ccn-i18n-universal-week-5"></span>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input id="ccn-event-loopWeek-check6" type="checkbox">
|
||||
<span i18n-name="ccn-i18n-universal-week-6"></span>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input id="ccn-event-loopWeek-check7" type="checkbox">
|
||||
<span i18n-name="ccn-i18n-universal-week-7"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ccn-event-boxLoopMonth">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-loopMonth-span"></label>
|
||||
<div class="control">
|
||||
<input id="ccn-event-loopMonth-inputSpan" class="input spanpicker" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-loopWeek-option"></label>
|
||||
<div class="control-list">
|
||||
<label class="radio">
|
||||
<input id="ccn-event-loopMonth-radioA" type="radio" name="month-loop-method">
|
||||
<span id="ccn-event-loopMonth-textA"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-loopMonth-radioB" type="radio" name="month-loop-method">
|
||||
<span id="ccn-event-loopMonth-textB"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-loopMonth-radioC" type="radio" name="month-loop-method">
|
||||
<span id="ccn-event-loopMonth-textC"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-loopMonth-radioD" type="radio" name="month-loop-method">
|
||||
<span id="ccn-event-loopMonth-textD"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ccn-event-boxLoopYear">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-loopYear-span"></label>
|
||||
<div class="control">
|
||||
<input id="ccn-event-loopYear-inputSpan" class="input spanpicker" type="number">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="ccn-event-boxLoopStop">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-loopStop"></label>
|
||||
<div class="control-list">
|
||||
<label class="radio">
|
||||
<input id="ccn-event-loopStop-radioForever" type="radio" name="loop-end">
|
||||
<span i18n-name="ccn-i18n-event-loopStop-forever"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-loopStop-radioDateTime" type="radio" name="loop-end">
|
||||
<span i18n-name="ccn-i18n-event-loopStop-datetime"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-loopStop-radioTimes" type="radio" name="loop-end">
|
||||
<span i18n-name="ccn-i18n-event-loopStop-times"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ccn-event-boxLoopStopDateTime">
|
||||
<div class="field">
|
||||
<div class="control-list">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-year"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="3" class="input datetimepicker-year" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-month"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="3" class="input datetimepicker-month" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-day"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="3" class="input datetimepicker-day" type="number">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ccn-event-boxLoopStopTimes">
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<input id="ccn-event-loopStop-inputTimes" class="input" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="ccn-event-boxStrictMode" class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-strictMode-title"></label>
|
||||
<p i18n-name="ccn-i18n-event-strictMode-warning"></p>
|
||||
<div class="control-list">
|
||||
<label class="radio">
|
||||
<input id="ccn-event-strictMode-radioStrict" type="radio" name="timezone">
|
||||
<span i18n-name="ccn-i18n-event-strictMode-strict"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-strictMode-radioRough" type="radio" name="timezone">
|
||||
<span i18n-name="ccn-i18n-event-strictMode-rough"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="ccn-event-boxTimezone" class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-timezone-title"></label>
|
||||
<p i18n-name="ccn-i18n-event-timezone-warning"></p>
|
||||
<div class="control-list">
|
||||
<label class="radio">
|
||||
<input id="ccn-event-timezone-radioKeep" type="radio" name="timezone">
|
||||
<span i18n-name="ccn-i18n-event-timezone-keep"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-timezone-radioReplace" type="radio" name="timezone">
|
||||
<span i18n-name="ccn-i18n-event-timezone-replace"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<footer class="modal-card-foot">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-collection"></label>
|
||||
<div class="control">
|
||||
<div class="select">
|
||||
<select id="ccn-event-inputCollection"></select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section">
|
||||
|
||||
<h2 class="subtitle" i18n-name="ccn-i18n-event-startDateTime"></h2>
|
||||
<div class="control-list">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-year"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="1" class="input datetimepicker-year" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-month"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="1" class="input datetimepicker-month" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-day"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="1" class="input datetimepicker-day" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-hour"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="1" class="input datetimepicker-hour" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-minute"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="1" class="input datetimepicker-minute" type="number">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="subtitle" i18n-name="ccn-i18n-event-endDateTime"></h2>
|
||||
<div class="control-list">
|
||||
<div class="control">
|
||||
<a id="ccn-event-btnSpot" class="button is-link" i18n-name="ccn-i18n-event-btnSpot"></a>
|
||||
</div>
|
||||
<div class="control">
|
||||
<a id="ccn-event-btnFullDay" class="button is-link" i18n-name="ccn-i18n-event-btnFullDay"></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-list">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-year"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="2" class="input datetimepicker-year" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-month"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="2" class="input datetimepicker-month" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-day"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="2" class="input datetimepicker-day" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-hour"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="2" class="input datetimepicker-hour" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-minute"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="2" class="input datetimepicker-minute" type="number">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
<section class="section">
|
||||
<h2 class="subtitle" i18n-name="ccn-i18n-event-loop"></h2>
|
||||
<div class="control-list">
|
||||
<label class="radio">
|
||||
<input id="ccn-event-radioLoopNever" type="radio" name="loop-method">
|
||||
<span i18n-name="ccn-i18n-event-loop-never"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-radioLoopDay" type="radio" name="loop-method">
|
||||
<span i18n-name="ccn-i18n-event-loop-day"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-radioLoopWeek" type="radio" name="loop-method">
|
||||
<span i18n-name="ccn-i18n-event-loop-week"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-radioLoopMonth" type="radio" name="loop-method">
|
||||
<span i18n-name="ccn-i18n-event-loop-month"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-radioLoopYear" type="radio" name="loop-method">
|
||||
<span i18n-name="ccn-i18n-event-loop-year"></span>
|
||||
</label>
|
||||
</div>
|
||||
<div id="ccn-event-boxLoopDay">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-loopDay-span"></label>
|
||||
<div class="control">
|
||||
<input id="ccn-event-loopDay-inputSpan" class="input spanpicker" type="number">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ccn-event-boxLoopWeek">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-loopWeek-span"></label>
|
||||
<div class="control">
|
||||
<input id="ccn-event-loopWeek-inputSpan" class="input spanpicker" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-loopWeek-option"></label>
|
||||
<div class="control-list">
|
||||
<label class="checkbox">
|
||||
<input id="ccn-event-loopWeek-check1" type="checkbox">
|
||||
<span i18n-name="ccn-i18n-universal-week-1"></span>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input id="ccn-event-loopWeek-check2" type="checkbox">
|
||||
<span i18n-name="ccn-i18n-universal-week-2"></span>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input id="ccn-event-loopWeek-check3" type="checkbox">
|
||||
<span i18n-name="ccn-i18n-universal-week-3"></span>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input id="ccn-event-loopWeek-check4" type="checkbox">
|
||||
<span i18n-name="ccn-i18n-universal-week-4"></span>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input id="ccn-event-loopWeek-check5" type="checkbox">
|
||||
<span i18n-name="ccn-i18n-universal-week-5"></span>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input id="ccn-event-loopWeek-check6" type="checkbox">
|
||||
<span i18n-name="ccn-i18n-universal-week-6"></span>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input id="ccn-event-loopWeek-check7" type="checkbox">
|
||||
<span i18n-name="ccn-i18n-universal-week-7"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ccn-event-boxLoopMonth">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-loopMonth-span"></label>
|
||||
<div class="control">
|
||||
<input id="ccn-event-loopMonth-inputSpan" class="input spanpicker" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-loopWeek-option"></label>
|
||||
<div class="control-list">
|
||||
<label class="radio">
|
||||
<input id="ccn-event-loopMonth-radioA" type="radio" name="month-loop-method">
|
||||
<span id="ccn-event-loopMonth-textA"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-loopMonth-radioB" type="radio" name="month-loop-method">
|
||||
<span id="ccn-event-loopMonth-textB"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-loopMonth-radioC" type="radio" name="month-loop-method">
|
||||
<span id="ccn-event-loopMonth-textC"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-loopMonth-radioD" type="radio" name="month-loop-method">
|
||||
<span id="ccn-event-loopMonth-textD"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ccn-event-boxLoopYear">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-event-loopYear-span"></label>
|
||||
<div class="control">
|
||||
<input id="ccn-event-loopYear-inputSpan" class="input spanpicker" type="number">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="ccn-event-boxLoopStop" class="section">
|
||||
<h2 class="subtitle" i18n-name="ccn-i18n-event-loopStop"></h2>
|
||||
<div class="control-list">
|
||||
<label class="radio">
|
||||
<input id="ccn-event-loopStop-radioForever" type="radio" name="loop-end">
|
||||
<span i18n-name="ccn-i18n-event-loopStop-forever"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-loopStop-radioDateTime" type="radio" name="loop-end">
|
||||
<span i18n-name="ccn-i18n-event-loopStop-datetime"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-loopStop-radioTimes" type="radio" name="loop-end">
|
||||
<span i18n-name="ccn-i18n-event-loopStop-times"></span>
|
||||
</label>
|
||||
</div>
|
||||
<div id="ccn-event-boxLoopStopDateTime">
|
||||
<div class="field">
|
||||
<div class="control-list">
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-year"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="3" class="input datetimepicker-year" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-month"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="3" class="input datetimepicker-month" type="number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" i18n-name="ccn-i18n-universal-text-day"></label>
|
||||
<div class="control">
|
||||
<input datetimepicker="3" class="input datetimepicker-day" type="number">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ccn-event-boxLoopStopTimes">
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<input id="ccn-event-loopStop-inputTimes" class="input spanpicker" type="number">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="ccn-event-boxStrictMode" class="section">
|
||||
<h2 class="subtitle" i18n-name="ccn-i18n-event-strictMode-title"></h2>
|
||||
<p i18n-name="ccn-i18n-event-strictMode-warning"></p>
|
||||
<div class="control-list">
|
||||
<label class="radio">
|
||||
<input id="ccn-event-strictMode-radioStrict" type="radio" name="timezone">
|
||||
<span i18n-name="ccn-i18n-event-strictMode-strict"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-strictMode-radioRough" type="radio" name="timezone">
|
||||
<span i18n-name="ccn-i18n-event-strictMode-rough"></span>
|
||||
</label>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="ccn-event-boxTimezone" class="section">
|
||||
<h2 class="subtitle" i18n-name="ccn-i18n-event-timezone-title"></h2>
|
||||
<p i18n-name="ccn-i18n-event-timezone-warning"></p>
|
||||
<div class="control-list">
|
||||
<label class="radio">
|
||||
<input id="ccn-event-timezone-radioKeep" type="radio" name="timezone">
|
||||
<span i18n-name="ccn-i18n-event-timezone-keep"></span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input id="ccn-event-timezone-radioReplace" type="radio" name="timezone">
|
||||
<span i18n-name="ccn-i18n-event-timezone-replace"></span>
|
||||
</label>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section">
|
||||
<div class="control-list">
|
||||
<a id="ccn-event-btnSubmit" class="button is-success" i18n-name="ccn-i18n-event-btnSubmit"></a>
|
||||
<a id="ccn-event-btnCancel" class="button" i18n-name="ccn-i18n-event-btnCancel"></a>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user