angular form builder

2025-12-07 0 437

角形构建器

麻省理工学院许可证

这是用CoffeeScript编写的Angularjs形式的建造者。

框架

  1. Angularjs 1.2.32
  2. jQuery 3.3.1
  3. Bootstrap 3
  4. 刺激器

$建造者

 # just $builder
angular . module \' yourApp \' , [ \' builder \' ]

# include $builder and default components
angular . module \' yourApp \' , [ \' builder \' , \' builder.components \' ]

成分

 ###
All components.
###
$builder . components =
    componentName{string} : component{object}

 ###
All groups of components.
###
$builder . groups = [componentGroup{string}]

寄存器组件

 # .config
$builderProvider . registerComponent = ( name , component = {}) ->
    ###
    Register the component for form-builder.
    @param name: The component name.
    @param component: The component object.
        group: {string} The component group.
        label: {string} The label of the input.
        description: {string} The description of the input.
        placeholder: {string} The placeholder of the input.
        editable: {bool} Is the form object editable?
        required: {bool} Is the form object required?
        validation: {string} angular-validator. \"/regex/\" or \"[rule1, rule2]\". (default is \'/.*/\')
        validationOptions: {array} [{rule: angular-validator, label: \'option label\'}] the options for the validation. (default is [])
        options: {array} The input options.
        arrayToText: {bool} checkbox could use this to convert input (default is no)
        template: {string} html template
        templateUrl: {string} The url of the template.
        popoverTemplate: {string} html template
        popoverTemplateUrl: {string} The url of the popover template.
    ###
# .run
$builder . registerComponent = ( name , component = {}) ->

组件.template

 < div class =\" form-group \" >
    < label for =\" {{name+index}} \" class =\" col-md-4 control-label \" ng-class =\" {\'fb-required\':required} \" > {{label}} </ label >
    < div class =\" col-md-8 \" >
        < input type =\" text \" ng-model =\" inputText \" validator-required =\" {{required}} \" id =\" {{name+index}} \" class =\" form-control \" placeholder =\" {{placeholder}} \" />
        < p class =\' help-block \' > {{description}} </ p >
    </ div >
</ div >

component.popovertemplate

 < form >
    < div class =\" form-group \" >
        < label class =\' control-label \' > Label </ label >
        < input type =\' text \' ng-model =\" label \" validator =\" [required] \" class =\' form-control \' />
    </ div >
    < div class =\" form-group \" >
        < label class =\' control-label \' > Description </ label >
        < input type =\' text \' ng-model =\" description \" class =\' form-control \' />
    </ div >
    < div class =\" form-group \" >
        < label class =\' control-label \' > Placeholder </ label >
        < input type =\' text \' ng-model =\" placeholder \" class =\' form-control \' />
    </ div >
    < div class =\" checkbox \" >
        < label >
            < input type =\' checkbox \' ng-model =\" required \" />
            Required </ label >
    </ div >
    < div class =\" form-group \" ng-if =\" validationOptions.length > 0 \" >
        < label class =\' control-label \' > Validation </ label >
        < select ng-model =\" $parent.validation \" class =\' form-control \' ng-options =\" option.rule as option.label for option in validationOptions \" > </ select >
    </ div >
    < hr />
    < div class =\' form-group \' >
        < input type =\' submit \' ng-click =\" popover.save($event) \" class =\' btn btn-primary \' value =\' Save \' />
        < input type =\' button \' ng-click =\" popover.cancel($event) \" class =\' btn btn-default \' value =\' Cancel \' />
        < input type =\' button \' ng-click =\" popover.remove($event) \" class =\' btn btn-danger \' value =\' Delete \' />
    </ div >
</ form > 

表格

 ###
builder mode: `fb-builder` you could drag and drop to build the form.
form mode: `fb-form` this is the form for end-user to input value.
Default is {default: []}
###
$builder . forms =
    formName{string} : formObjects{array}

插入OmpObject

 $builder . insertFormObject = ( name , index , formObject = {}) =>
    ###
    Insert the form object into the form at {index}.
    @param name: The form name.
    @param index: The form object index.
    @param form: The form object.
        id: The form object id.
        component: {string} The component name
        editable: {bool} Is the form object editable? (default is yes)
        label: {string} The form object label.
        description: {string} The form object description.
        placeholder: {string} The form object placeholder.
        options: {array} The form object options.
        required: {bool} Is the form object required? (default is no)
        validation: {string} angular-validator. \"/regex/\" or \"[rule1, rule2]\".
        [index]: {int} The form object index. It will be generated by $builder.
    @return: The form object.
    ### 

addformobject

 $builder . addFormObject = ( name , formObject = {}) =>
    ###
    Insert the form object into the form at last.
    reference $builder.insertFormObject()
    ### 

删除OmperObobject

 $builder . removeFormObject = ( name , index ) =>
    ###
    Remove the form object by the index.
    @param name: {string} The form name.
    @param index: {int} The form object index.
    ### 

构建器

FB组件

 a = angular . module \' builder.directive \' , [ \' builder.provider \' , \' builder.controller \' , \' builder.drag \' , \' validator \' ]
fbComponents = ->
    ###
    You could use `fb-components` to render the components view.
    ###
    restrict : \' A \'
    template :
        \"\"\"
        <ul ng-if=\"groups.length > 1\" class=\"nav nav-tabs nav-justified\">
            <li ng-repeat=\"group in groups\" ng-class=\"{active:activeGroup==group}\">
                <a href=\'#\' ng-click=\"selectGroup($event, group)\">{{group}}</a>
            </li>
        </ul>
        <div class=\'form-horizontal\'>
            <div class=\'fb-component\' ng-repeat=\"component in components\"
                fb-component=\"component\"></div>
        </div>
        \"\"\"
    controller : \' fbComponentsController \'
a . directive \' fbComponents \' , fbComponents
 < div fb-components > </ div > 

FB构建器

 a = angular . module \' builder.directive \' , [ \' builder.provider \' , \' builder.controller \' , \' builder.drag \' , \' validator \' ]
fbBuilder = ( $injector ) ->
    ###
    You could use `fb-builder=\"formName\"` to render the builder view.
    ###
    restrict : \' A \'
    template :
        \"\"\"
        <div class=\'form-horizontal\'>
            <div class=\'fb-form-object-editable\' ng-repeat=\"object in formObjects\"
                fb-form-object-editable=\"object\"></div>
        </div>
        \"\"\"
    link : ( scope , element , attrs ) ->
fbBuilder . $inject = [ \' $injector \' ]
a . directive \' fbBuilder \' , fbBuilder
 < div fb-builder =\" default \" > </ div > 

FB形式

 a = angular . module \' builder.directive \' , [ \' builder.provider \' , \' builder.controller \' , \' builder.drag \' , \' validator \' ]
fbForm = ( $injector ) ->
    ###
    You could use `fb-form=\"formName\"` to render the form view for end-users.
    ###
    restrict : \' A \'
    require : \' ngModel \'  # form data (end-user input value)
    scope :
        # input model for scops in ng-repeat
        input : \' =ngModel \'
    template :
        \"\"\"
        <div class=\'fb-form-object\' ng-repeat=\"object in form\" fb-form-object=\"object\">
        </div>
        \"\"\"
    controller : \' fbFormController \'
    link : ( scope , element , attrs ) ->
fbForm . $inject = [ \' $injector \' ]
a . directive \' fbForm \' , fbForm
 < form class =\" form-horizontal \" >
    < div ng-model =\" input \" fb-form =\" default \" fb-default =\" defaultValue \" > </ div >
    < div class =\" form-group \" >
        < div class =\" col-md-8 col-md-offset-4 \" >
            < input type =\" submit \" ng-click =\" submit() \" class =\" btn btn-default \" />
        </ div >
    </ div >
</ form > 

builder.com

此模块上有一些默认组件。不需要此模块。

  • TextInput
  • Textarea
  • 复选框
  • 收音机
  • 选择

单位测试

$ npm test 

发展

 # install node modules
$ npm install
# install bower components
$ bower install
 # run the local server and the file watcher to compile CoffeeScript
$ grunt dev
# compile coffee script and minify
$ grunt build

下载源码

通过命令行克隆项目:

git clone https://github.com/kelp404/angular-form-builder.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 开发教程 angular form builder https://www.zuozi.net/31841.html

erl_fastcgi
上一篇: erl_fastcgi
swoole php fpm
下一篇: swoole php fpm
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务