123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- package e00_basics
- import (
- "github.com/qor5/docs/docsrc/utils"
- . "github.com/qor5/ui/vuetify"
- "github.com/qor5/web"
- . "github.com/theplant/htmlgo"
- )
- // @snippet_begin(WebScopeUseLocalsSample1)
- func UseLocals(ctx *web.EventContext) (pr web.PageResponse, err error) {
- pr.Body = VCard(
- VBtn("Test Can Not Change Other Scope").Attr("@click", `locals.btnLabel = "YES"`),
- web.Scope(
- VCard(
- VBtn("").
- Attr("v-text", "locals.btnLabel").
- Attr("@click", `
- if (locals.btnLabel == "Add") {
- locals.items.push({text: "B", icon: "done"});
- locals.btnLabel = "Remove";
- } else {
- locals.items.pop();
- locals.btnLabel = "Add";
- }`),
- VList(
- VSubheader(
- Text("REPORTS"),
- ),
- VListItemGroup(
- VListItem(
- VListItemIcon(
- VIcon("").Attr("v-text", "item.icon"),
- ),
- VListItemContent(
- VListItemTitle().Attr("v-text", "item.text"),
- ),
- ).Attr("v-for", "(item, i) in locals.items").
- Attr("x-bind:key", "i"),
- ).Attr("v-model", "locals.selectedItem").
- Attr("color", "primary"),
- ).Attr("dense", ""),
- ).Class("mx-auto").
- Attr("max-width", "300").
- Attr("tile", ""),
- ).Init(`{ selectedItem: 1, btnLabel:"Add", items: [{text: "A", icon: "clock"}]}`).
- VSlot("{ locals }"),
- )
- return
- }
- var UseLocalsPB = web.Page(UseLocals)
- // @snippet_end
- // @snippet_begin(WebScopeUsePlaidFormSample1)
- var materialID, materialName, rawMaterialID, rawMaterialName, countryID, countryName, productName string
- func UsePlaidForm(ctx *web.EventContext) (pr web.PageResponse, err error) {
- pr.Body = Div(
- H3("Form Content"),
- utils.PrettyFormAsJSON(ctx),
- Div(
- Div(
- Fieldset(
- Legend("Product Form"),
- Div(
- Label("Product Name"),
- Input("").Value(productName).Type("text").Attr(web.VFieldName("ProductName")...),
- ),
- Div(
- Label("Material ID"),
- Input("").Value(materialID).Type("text").Disabled(true).Attr(web.VFieldName("MaterialID")...),
- ),
- web.Scope(
- Fieldset(
- Legend("Material Form"),
- Div(
- Label("Material Name"),
- Input("").Value(materialName).Type("text").Attr(web.VFieldName("MaterialName")...),
- ),
- Div(
- Label("Raw Material ID"),
- Input("").Value(rawMaterialID).Type("text").Disabled(true).Attr(web.VFieldName("RawMaterialID")...),
- ),
- web.Scope(
- Fieldset(
- Legend("Raw Material Form"),
- Div(
- Label("Raw Material Name"),
- Input("").Value(rawMaterialName).Type("text").Attr(web.VFieldName("RawMaterialName")...),
- ),
- Button("Send").Style(`background: orange;`).Attr("@click", web.POST().EventFunc("updateValue").Go()),
- ).Style(`background: orange;`),
- ).VSlot("{ plaidForm }"),
- Button("Send").Style(`background: brown;`).Attr("@click", web.POST().EventFunc("updateValue").Go()),
- ).Style(`background: brown;`),
- ).VSlot("{ plaidForm }"),
- Div(
- Label("Country ID"),
- Input("").Value(countryID).Type("text").Disabled(true).Attr(web.VFieldName("CountryID")...),
- ),
- web.Scope(
- Fieldset(
- Legend("Country Of Origin Form"),
- Div(
- Label("Country Name"),
- Input("").Value(countryName).Type("text").Attr(web.VFieldName("CountryName")...),
- ),
- Button("Send").Style(`background: red;`).Attr("@click", web.POST().EventFunc("updateValue").Go()),
- ).Style(`background: red;`),
- ).VSlot("{ plaidForm }"),
- Div(
- Button("Send").Style(`background: grey;`).Attr("@click", web.POST().EventFunc("updateValue").Go())),
- ).Style(`background: grey;`)),
- ).Style(`width:600px;`),
- )
- return
- }
- func updateValue(ctx *web.EventContext) (er web.EventResponse, err error) {
- ctx.R.ParseForm()
- if v := ctx.R.Form.Get("ProductName"); v != "" {
- productName = v
- }
- if v := ctx.R.Form.Get("MaterialName"); v != "" {
- materialName = v
- materialID = "66"
- }
- if v := ctx.R.Form.Get("RawMaterialName"); v != "" {
- rawMaterialName = v
- rawMaterialID = "88"
- }
- if v := ctx.R.Form.Get("CountryName"); v != "" {
- countryName = v
- countryID = "99"
- }
- er.Reload = true
- return
- }
- var UsePlaidFormPB = web.Page(UsePlaidForm).
- EventFunc("updateValue", updateValue)
- // @snippet_end
- const WebScopeUseLocalsPagePath = "/samples/web-scope-use-locals"
- const WebScopeUsePlaidFormPagePath = "/samples/web-scope-use-plaid-form"
|