First commit
This commit is contained in:
179
application/elements/selectRenderCollection.js
Normal file
179
application/elements/selectRenderCollection.js
Normal file
@@ -0,0 +1,179 @@
|
||||
|
||||
|
||||
import option from '/elements/option.js';
|
||||
|
||||
import selectCollection from '/elements/selectCollection.js';
|
||||
|
||||
import renderCollection from '/unify/renderCollection.js';
|
||||
|
||||
import document from '/unify/document.js';
|
||||
|
||||
import groups from '/user/group/user.group.permission.js';
|
||||
|
||||
var id = 0;
|
||||
|
||||
export default class selectRenderCollection extends renderCollection {
|
||||
|
||||
customElement = document.createElement("select");
|
||||
|
||||
useCustomElement = true;
|
||||
|
||||
|
||||
|
||||
|
||||
boxMarginLeft = "auto";
|
||||
|
||||
border;
|
||||
|
||||
shadow;
|
||||
|
||||
#ifdef MACOS
|
||||
|
||||
margin = 12;
|
||||
|
||||
webkitAppearance = "none";
|
||||
|
||||
boxWidth = "20%";
|
||||
|
||||
//opacity = "20%";
|
||||
|
||||
background = "none";
|
||||
|
||||
border = "none";
|
||||
|
||||
fontWeight = "bold";
|
||||
|
||||
outline = "none";
|
||||
|
||||
boxShadow = "none";
|
||||
|
||||
margin = 10;
|
||||
|
||||
|
||||
#ifdef LIGHT
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef DARK
|
||||
|
||||
color = "white";
|
||||
|
||||
background = "#2a2525f5";
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef WINDOWS
|
||||
|
||||
padding = "6px 12px";
|
||||
|
||||
height = "fit-content";
|
||||
|
||||
margin = 12;
|
||||
|
||||
borderRadius = 6;
|
||||
|
||||
border = "none";
|
||||
|
||||
#ifdef LIGHT
|
||||
|
||||
background = "#F7FAFC";
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef DARK
|
||||
|
||||
color = "white";
|
||||
|
||||
background = "#36373a";
|
||||
|
||||
#endif
|
||||
|
||||
borderRadius = 2;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
addOption( value, label, selected ) {
|
||||
|
||||
var optionElement = document.createElement("option")
|
||||
|
||||
optionElement.text = label;
|
||||
|
||||
optionElement.id = value;
|
||||
|
||||
optionElement.value = value;
|
||||
|
||||
if( label == "Select Country" ) {
|
||||
|
||||
optionElement.setAttribute("disabled", "")
|
||||
|
||||
optionElement.setAttribute("selected", "")
|
||||
|
||||
|
||||
}
|
||||
|
||||
if( selected ) {
|
||||
|
||||
optionElement.setAttribute( "selected", "" )
|
||||
|
||||
}
|
||||
|
||||
this.customElement.appendChild( optionElement );
|
||||
|
||||
}
|
||||
|
||||
removeErrorMessages() {
|
||||
|
||||
var errorBlocks = document.querySelectorAll(".errorBlock");
|
||||
|
||||
for (var i = 0; i < errorBlocks.length; i++) {
|
||||
|
||||
errorBlocks[i].remove();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
showError( text ) {
|
||||
|
||||
this.removeErrorMessages();
|
||||
|
||||
var errorBlock = document.createElement("div");
|
||||
|
||||
errorBlock.innerText = text;
|
||||
|
||||
errorBlock.className = "errorBlock";
|
||||
|
||||
this.boxElement.appendChild( errorBlock );
|
||||
|
||||
}
|
||||
|
||||
focus() {
|
||||
|
||||
var selectedIndex = this.customElement.selectedIndex;
|
||||
|
||||
this.hightlight( selectedIndex )
|
||||
|
||||
|
||||
|
||||
this.customElement.focus();
|
||||
|
||||
}
|
||||
|
||||
permission( object ) {
|
||||
|
||||
this.allow( groups.admin , "WRITE" );
|
||||
|
||||
this.allow( groups.admin , "READ" );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user