Browse Source

Order require fields -> settings -> better checkboxes

Vova Tkach 5 years ago
parent
commit
9670505e1c
3 changed files with 76 additions and 45 deletions
  1. 45 0
      assets/cp.styles.css
  2. 0 0
      assets/cp.styles.css.go
  3. 31 45
      modules/module_settings.go

+ 45 - 0
assets/cp.styles.css

@@ -978,6 +978,51 @@ ul.pagination {
 	left: 32px;
 }
 
+/* Checkbox style clickable */
+.checkbox-clickable {
+	display: inline-block;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+	margin-right: 0.5rem;
+}
+
+.checkbox-clickable:last-child {
+	margin-right: 0;
+}
+
+.checkbox-clickable input[type=checkbox] {
+	max-height: 0;
+	max-width: 0;
+	opacity: 0;
+	position: absolute;
+}
+
+.checkbox-clickable input[type=checkbox] + label {
+	display: block;
+	position: relative;
+	box-shadow: inset 0 0 0 1px #ced4da;
+	background: #e9ecef;
+	height: 28px;
+	border-radius: 1.5rem;
+	cursor: pointer;
+	margin-top: 0.1rem;
+	margin-bottom: 0.1rem;
+	padding: 0px 1rem;
+	line-height: 1.8rem;
+	font-size: 14px;
+	color: #abb3bb;
+}
+
+.checkbox-clickable input[type=checkbox]:checked + label {
+	box-shadow: inset 0 0 0 1px #1a73e8;
+	background: #1a73e8;
+	color: #fff;
+}
+
 /* Admin dynamic fields */
 .list-wrapper {
 	background: #e9ecef;

File diff suppressed because it is too large
+ 0 - 0
assets/cp.styles.css.go


+ 31 - 45
modules/module_settings.go

@@ -536,53 +536,39 @@ func (this *Modules) RegisterModule_Settings() *Module {
 				{
 					Kind: builder.DFKText,
 					CallBack: func(field *builder.DataFormField) string {
-						return `<div><hr></div>` +
-							`<div><h4>Order process require fields</h4></div>` +
-							`<div><hr></div>`
+						make_checkbox := func(name, caption string, value int) string {
+							checked := ""
+							if value > 0 {
+								checked = " checked"
+							}
+							return `<div class="checkbox-clickable"><input class="form-control" type="checkbox" id="lbl_` +
+								name + `" name="` + name + `" value="1" "="" autocomplete="off"` + checked +
+								`><label for="lbl_` + name + `">` + caption + `</label></div>`
+						}
+
+						checkboxes := ""
+						checkboxes += make_checkbox("require-last-name", "Last Name", (*wrap.Config).Shop.Orders.RequiredFields.LastName)
+						checkboxes += make_checkbox("require-first-name", "First Name", (*wrap.Config).Shop.Orders.RequiredFields.FirstName)
+						checkboxes += make_checkbox("require-middle-name", "Middle Name", (*wrap.Config).Shop.Orders.RequiredFields.MiddleName)
+						checkboxes += make_checkbox("require-mobile-phone", "Mobile Phone", (*wrap.Config).Shop.Orders.RequiredFields.MobilePhone)
+						checkboxes += make_checkbox("require-email-address", "Email Address", (*wrap.Config).Shop.Orders.RequiredFields.EmailAddress)
+						checkboxes += make_checkbox("require-delivery", "Delivery", (*wrap.Config).Shop.Orders.RequiredFields.Delivery)
+						checkboxes += make_checkbox("require-comment", "Comment", (*wrap.Config).Shop.Orders.RequiredFields.Comment)
+
+						return `<div class="form-group n3">` +
+							`<div class="row">` +
+							`<div class="col-md-3">` +
+							`<label for="lbl_price-fomat">Order require fields</label>` +
+							`</div>` +
+							`<div class="col-md-9">` +
+							`<div>` +
+							checkboxes +
+							`</div>` +
+							`</div>` +
+							`</div>` +
+							`</div>`
 					},
 				},
-				{
-					Kind:    builder.DFKCheckBox,
-					Caption: "Last Name",
-					Name:    "require-last-name",
-					Value:   utils.IntToStr((*wrap.Config).Shop.Orders.RequiredFields.LastName),
-				},
-				{
-					Kind:    builder.DFKCheckBox,
-					Caption: "First Name",
-					Name:    "require-first-name",
-					Value:   utils.IntToStr((*wrap.Config).Shop.Orders.RequiredFields.FirstName),
-				},
-				{
-					Kind:    builder.DFKCheckBox,
-					Caption: "Middle Name",
-					Name:    "require-middle-name",
-					Value:   utils.IntToStr((*wrap.Config).Shop.Orders.RequiredFields.MiddleName),
-				},
-				{
-					Kind:    builder.DFKCheckBox,
-					Caption: "Mobile Phone",
-					Name:    "require-mobile-phone",
-					Value:   utils.IntToStr((*wrap.Config).Shop.Orders.RequiredFields.MobilePhone),
-				},
-				{
-					Kind:    builder.DFKCheckBox,
-					Caption: "Email Address",
-					Name:    "require-email-address",
-					Value:   utils.IntToStr((*wrap.Config).Shop.Orders.RequiredFields.EmailAddress),
-				},
-				{
-					Kind:    builder.DFKCheckBox,
-					Caption: "Delivery",
-					Name:    "require-delivery",
-					Value:   utils.IntToStr((*wrap.Config).Shop.Orders.RequiredFields.Delivery),
-				},
-				{
-					Kind:    builder.DFKCheckBox,
-					Caption: "Comment",
-					Name:    "require-comment",
-					Value:   utils.IntToStr((*wrap.Config).Shop.Orders.RequiredFields.Comment),
-				},
 				{
 					Kind:   builder.DFKSubmit,
 					Value:  "Save",

Some files were not shown because too many files changed in this diff