update 1904130940
This commit is contained in:
315
projects/google/liveSS/js/form-entities.js
Normal file
315
projects/google/liveSS/js/form-entities.js
Normal file
@@ -0,0 +1,315 @@
|
||||
/**
|
||||
* Updated: 2019-04-12
|
||||
*/
|
||||
|
||||
|
||||
/** Form Entities **/
|
||||
|
||||
function Title_(value, row, column, height, width, horizontalAlignment, omitIndent) {
|
||||
/*
|
||||
* arguments: [value[, row[, column[, height[, width[, horizontalAlignment[, omitIndent]]]]]]]
|
||||
*
|
||||
* value -> string
|
||||
* row -> integer (>0)
|
||||
* column -> integer (>0)
|
||||
* height -> integer (>0)
|
||||
* width -> integer (>0)
|
||||
* horizontalAlignment -> selection op string options "left", "right" and "center" to override existing setting
|
||||
* omitIndent -> boolean, if true indent will not be applied
|
||||
*
|
||||
*/
|
||||
|
||||
return new RangeDescription(value, row, column, {
|
||||
height: (height) ? height : undefined,
|
||||
width: (width) ? width : undefined,
|
||||
font: { family: 'Montserrat', size: 12, color: '#434343', weight: 'bold', line: 'underline' },
|
||||
alignment: (horizontalAlignment) ? { horizontal: horizontalAlignment } : undefined,
|
||||
indent: (omitIndent) ? undefined : { left: 2, right: 2 },
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function HeaderMain_(value, row, column, height, width, horizontalAlignment, omitIndent) {
|
||||
/*
|
||||
* arguments: [value[, row[, column[, height[, width[, horizontalAlignment[, omitIndent]]]]]]]
|
||||
*
|
||||
* value -> string
|
||||
* row -> integer (>0)
|
||||
* column -> integer (>0)
|
||||
* height -> integer (>0)
|
||||
* width -> integer (>0)
|
||||
* horizontalAlignment -> selection op string options "left", "right" and "center" to override existing setting
|
||||
* omitIndent -> boolean, if true indent will not be applied
|
||||
*
|
||||
*/
|
||||
|
||||
return new RangeDescription(value, row, column, {
|
||||
height: (height) ? height : undefined,
|
||||
width: (width) ? width : undefined,
|
||||
font: { family: 'Roboto', size: 11, color: '#cccccc' },
|
||||
background: 'black',
|
||||
border: {
|
||||
top: true,
|
||||
left: true,
|
||||
bottom: true,
|
||||
right: true,
|
||||
color: Title_().font.color,
|
||||
},
|
||||
alignment: (horizontalAlignment) ? { horizontal: horizontalAlignment } : undefined,
|
||||
indent: (omitIndent) ? undefined : { left: 2, right: 2 },
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function Header_(value, row, column, height, width, horizontalAlignment, omitIndent) {
|
||||
/*
|
||||
* arguments: [value[, row[, column[, height[, width[, horizontalAlignment[, omitIndent]]]]]]]
|
||||
*
|
||||
* value -> string
|
||||
* row -> integer (>0)
|
||||
* column -> integer (>0)
|
||||
* height -> integer (>0)
|
||||
* width -> integer (>0)
|
||||
* horizontalAlignment -> selection op string options "left", "right" and "center" to override existing setting
|
||||
* omitIndent -> boolean, if true indent will not be applied
|
||||
*
|
||||
*/
|
||||
|
||||
return new RangeDescription(value, row, column, {
|
||||
height: (height) ? height : undefined,
|
||||
width: (width) ? width : undefined,
|
||||
font: { family: 'Roboto', size: 10, color: '#434343', style: 'italic' },
|
||||
border: {
|
||||
top: true,
|
||||
left: true,
|
||||
bottom: true,
|
||||
right: true,
|
||||
color: Title_().font.color,
|
||||
},
|
||||
alignment: (horizontalAlignment) ? { horizontal: horizontalAlignment } : undefined,
|
||||
indent: (omitIndent) ? undefined : { left: 2, right: 2 },
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function Label_(value, required, row, column, height, width, omitIndent, applyBorder) {
|
||||
/*
|
||||
* arguments: value[, required[, row[, column[, height[, width[, omitIndent[, applyBorder]]]]]]]
|
||||
*
|
||||
* value -> string
|
||||
* required -> boolean, determines if label points at required field
|
||||
* row -> integer (>0)
|
||||
* column -> integer (>0)
|
||||
* height -> integer (>0)
|
||||
* width -> integer (>0)
|
||||
* omitIndent -> boolean, if true indent will not be applied
|
||||
* applyBorder -> boolean, if true border will be applied
|
||||
*
|
||||
*/
|
||||
|
||||
if (value && typeof value == 'string') {
|
||||
|
||||
var fontColor = '#666666';
|
||||
if (required) {
|
||||
value += ' *';
|
||||
fontColor = '#134f5c';
|
||||
}
|
||||
|
||||
return new RangeDescription(value, row, column, {
|
||||
height: (height) ? height : undefined,
|
||||
width: (width) ? width : undefined,
|
||||
wrapStrategy: (!height && !width && !applyBorder) ? SpreadsheetApp.WrapStrategy.OVERFLOW : undefined,
|
||||
alignment: { horizontal: 'right' },
|
||||
font: { family: 'Roboto', color: fontColor },
|
||||
border: (applyBorder) ? {
|
||||
top: true,
|
||||
left: true,
|
||||
bottom: true,
|
||||
right: true,
|
||||
color: Title_().font.color,
|
||||
} : undefined,
|
||||
indent: (omitIndent) ? undefined : { right: 2 },
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function Cell_(value, row, column, height, width, numberFormat, horizontalAlignment, omitIndent) {
|
||||
/*
|
||||
* arguments: [value[, row[, column[, height[, width[, numberFormat[, horizontalAlignment[, omitIndent]]]]]]]]
|
||||
*
|
||||
* value -> any type
|
||||
* row -> integer (>0)
|
||||
* column -> integer (>0)
|
||||
* height -> integer (>0)
|
||||
* width -> integer (>0)
|
||||
* numberFormat -> string reprsenting format pattern
|
||||
* horizontalAlignment -> selection op string options "left", "right" and "center" to override existing setting
|
||||
* omitIndent -> boolean, if true indent will not be applied
|
||||
*
|
||||
*/
|
||||
|
||||
return new RangeDescription(value, row, column, {
|
||||
height: (height) ? height : undefined,
|
||||
width: (width) ? width : undefined,
|
||||
numberFormat: (numberFormat) ? numberFormat : undefined,
|
||||
font: { family: 'Poppins', size: 11 },
|
||||
border: {
|
||||
top: true,
|
||||
left: true,
|
||||
bottom: true,
|
||||
right: true,
|
||||
color: Title_().font.color,
|
||||
},
|
||||
alignment: (horizontalAlignment) ? { horizontal: horizontalAlignment } : undefined,
|
||||
indent: (omitIndent) ? undefined : { left: 2, right: 2 },
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function InputRequired_(value, row, column, height, width, validation, numberFormat, horizontalAlignment, unprotected) {
|
||||
/*
|
||||
* arguments: [value [,row[, column[, height[, width[, validation[, numberFormat[, horizontalAlignment[, unprotected]]]]]]]]]
|
||||
*
|
||||
* value -> any type
|
||||
* row -> integer (>0)
|
||||
* column -> integer (>0)
|
||||
* height -> integer (>0)
|
||||
* width -> integer (>0)
|
||||
* validation -> data validation object
|
||||
* numberFormat -> string reprsenting format pattern
|
||||
* horizontalAlignment -> selection op string options "left", "right" and "center" to override existing setting
|
||||
* unprotected -> boolean, if false the range will be protected along with protected sheet
|
||||
*
|
||||
*/
|
||||
|
||||
if (unprotected == undefined) unprotected = true;
|
||||
|
||||
return new RangeDescription(value, row, column, {
|
||||
tag: 'input',
|
||||
height: (height) ? height : undefined,
|
||||
width: (width) ? width : undefined,
|
||||
numberFormat: (numberFormat) ? numberFormat : undefined,
|
||||
font: { family: 'Poppins', size: 11, weight: 'bold' },
|
||||
background: '#c9daf8',
|
||||
border: {
|
||||
top: true,
|
||||
left: true,
|
||||
bottom: true,
|
||||
right: true,
|
||||
color: Title_().font.color,
|
||||
},
|
||||
alignment: (horizontalAlignment) ? { horizontal: horizontalAlignment } : undefined,
|
||||
validation: (validation) ? validation : undefined,
|
||||
unprotected: unprotected,
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function InputOptional_(value, row, column, height, width, validation, numberFormat, horizontalAlignment, unprotected) {
|
||||
/*
|
||||
* arguments: [value [,row[, column[, height[, width[, validation[, numberFormat[, horizontalAlignment[, unprotected]]]]]]]]]
|
||||
*
|
||||
* value -> any type
|
||||
* row -> integer (>0)
|
||||
* column -> integer (>0)
|
||||
* height -> integer (>0)
|
||||
* width -> integer (>0)
|
||||
* validation -> data validation object
|
||||
* numberFormat -> string reprsenting format pattern
|
||||
* horizontalAlignment -> selection op string options "left", "right" and "center" to override existing setting
|
||||
* unprotected -> boolean, if false the range will be protected along with protected sheet
|
||||
*
|
||||
*/
|
||||
|
||||
if (unprotected == undefined) unprotected = true;
|
||||
|
||||
return new RangeDescription(value, row, column, {
|
||||
tag: 'input',
|
||||
height: (height) ? height : undefined,
|
||||
width: (width) ? width : undefined,
|
||||
numberFormat: (numberFormat) ? numberFormat : undefined,
|
||||
font: { family: 'Poppins', size: 11, weight: 'bold' },
|
||||
background: '#d0e0e3',
|
||||
border: {
|
||||
top: true,
|
||||
left: true,
|
||||
bottom: true,
|
||||
right: true,
|
||||
color: Title_().font.color,
|
||||
},
|
||||
alignment: (horizontalAlignment) ? { horizontal: horizontalAlignment } : undefined,
|
||||
validation: (validation) ? validation : undefined,
|
||||
unprotected: unprotected,
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function InputAction_(value, row, column, height, width, validation) {
|
||||
/*
|
||||
* arguments: [value [,row[, column[, height[, width[, validation]]]]]]
|
||||
*
|
||||
* value -> any type
|
||||
* row -> integer (>0)
|
||||
* column -> integer (>0)
|
||||
* height -> integer (>0)
|
||||
* width -> integer (>0)
|
||||
* validation -> data validation object
|
||||
*
|
||||
*/
|
||||
|
||||
return new RangeDescription(value, row, column, {
|
||||
tag: 'input',
|
||||
height: (height) ? height : undefined,
|
||||
width: (width) ? width : undefined,
|
||||
font: { family: 'Poppins', color: 'blue', size: 11, weight: 'bold' },
|
||||
background: '#d9ead3',
|
||||
border: {
|
||||
top: true,
|
||||
left: true,
|
||||
bottom: true,
|
||||
right: true,
|
||||
color: Title_().font.color,
|
||||
},
|
||||
validation: (validation) ? validation : undefined,
|
||||
unprotected: true,
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function Checkbox_(row, column, value, horizontalAlignment, applyBorder, height, width) {
|
||||
/*
|
||||
* arguments: [row[, column[, value[, horizontalAlignment[, applyBorder[, height[, width]]]]]]]
|
||||
*
|
||||
* row -> integer (>0)
|
||||
* column -> integer (>0)
|
||||
* value -> boolean (false by default)
|
||||
* horizontalAlignment -> selection op string options "left", "right" and "center" to override existing setting
|
||||
* applyBorder -> boolean, if true border will be applied
|
||||
* height -> integer (>0)
|
||||
* width -> integer (>0)
|
||||
*
|
||||
*/
|
||||
|
||||
if (value == undefined) value = false;
|
||||
|
||||
return new RangeDescription(value, row, column, {
|
||||
tag: 'input',
|
||||
height: (height) ? height : undefined,
|
||||
width: (width) ? width : undefined,
|
||||
font: { color: Label_('/').font.color },
|
||||
numberFormat: new Formats().auto,
|
||||
border: (applyBorder) ? {
|
||||
top: true,
|
||||
left: true,
|
||||
bottom: true,
|
||||
right: true,
|
||||
color: Title_().font.color,
|
||||
} : undefined,
|
||||
alignment: (horizontalAlignment) ? { horizontal: horizontalAlignment } : undefined,
|
||||
validation: buildValidation(['checkbox']),
|
||||
unprotected: true,
|
||||
});
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user