GithubHelp home page GithubHelp logo

Parser erro about gorazor HOT 1 CLOSED

Wuvist avatar Wuvist commented on August 20, 2024
Parser erro

from gorazor.

Comments (1)

Wuvist avatar Wuvist commented on August 20, 2024

make it more complicated

@{
    import (
        "zfw/models"
        . "zfw/tplhelper"
        "dm"
    )
    var obj *models.Widget
}

@{
    data, dmType := dm.GetData(obj.PlaceHolder)

    if dmType == "simple" {
        obj.StringList = data.([]string)
        <div>@raw(SelectPk(obj))</div>
    } else {
        node := data.(*dm.DMTree)
<div class="form-group @GetErrorClass(obj)">
    <label for="@obj.Name" class="col-sm-2 control-label">@obj.Label</label>
    <div class="col-sm-10">
        <select class="form-control" name="@obj.Name" @BoolStr(obj.Disabled, "disabled")>
        @for _, option := range node.Keys{
            if values, ok := node.Values[option]; ok {
                <optgroup label="@option">
                @for _, value := range values{
                    if value == obj.Value{
                        <option selected>@value</option>
                    }else{
                        <option>@value</option>
                    }
                }
                </optgroup>
            } else {
                if option == obj.Value{
                    <option selected>@option</option>
                }else{
                    <option>@option</option>
                }           
            }
        }
        </select>
        @if obj.ErrorMsg != "" {
        <span class="label label-danger">@obj.ErrorMsg</span>
        }
    </div>
</div>

    }
}

and it should output

package html

import (
    "bytes"
    "dm"
    "github.com/sipin/gorazor/gorazor"
    "zfw/models"
    . "zfw/tplhelper"
)

func Dm(obj *models.Widget) string {
    var _buffer bytes.Buffer

    data, dmType := dm.GetData(obj.PlaceHolder)

    if dmType == "simple" {
        obj.StringList = data.([]string)

        _buffer.WriteString("<div>")
        _buffer.WriteString((SelectPk(obj)))
        _buffer.WriteString("</div>")

    } else {
        node := data.(*dm.DMTree)

        _buffer.WriteString("<div class=\"form-group ")
        _buffer.WriteString(gorazor.HTMLEscape(GetErrorClass(obj)))
        _buffer.WriteString("\">\n  <label for=\"")
        _buffer.WriteString(gorazor.HTMLEscape(obj.Name))
        _buffer.WriteString("\" class=\"col-sm-2 control-label\">")
        _buffer.WriteString(gorazor.HTMLEscape(obj.Label))
        _buffer.WriteString("</label>\n <div class=\"col-sm-10\">\n     <select class=\"form-control\" name=\"")
        _buffer.WriteString(gorazor.HTMLEscape(obj.Name))
        _buffer.WriteString("\" ")
        _buffer.WriteString(gorazor.HTMLEscape(BoolStr(obj.Disabled, "disabled")))
        _buffer.WriteString(">\n        ")
        for _, option := range node.Keys {
            if values, ok := node.Values[option]; ok {

                _buffer.WriteString("<optgroup label=\"")
                _buffer.WriteString(gorazor.HTMLEscape(option))
                _buffer.WriteString("\">\n              ")
                for _, value := range values {
                    if value == obj.Value {

                        _buffer.WriteString("<option selected>")
                        _buffer.WriteString(gorazor.HTMLEscape(value))
                        _buffer.WriteString("</option>")

                    } else {

                        _buffer.WriteString("<option>")
                        _buffer.WriteString(gorazor.HTMLEscape(value))
                        _buffer.WriteString("</option>")

                    }

                }
                _buffer.WriteString("\n             </optgroup>")
            } else {
                if option == obj.Value {

                    _buffer.WriteString("<option selected>")
                    _buffer.WriteString(gorazor.HTMLEscape(option))
                    _buffer.WriteString("</option>")

                } else {

                    _buffer.WriteString("<option>")
                    _buffer.WriteString(gorazor.HTMLEscape(option))
                    _buffer.WriteString("</option>")

                }
            }

        }
        _buffer.WriteString("\n     </select>\n     ")
        if obj.ErrorMsg != "" {

            _buffer.WriteString("<span class=\"label label-danger\">")
            _buffer.WriteString(gorazor.HTMLEscape(obj.ErrorMsg))
            _buffer.WriteString("</span>")

        }
        _buffer.WriteString("\n </div>\n</div>\n\n  ")
    }

    return _buffer.String()
}

from gorazor.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.