angularjs ngTable -Custom filter template-calendar

jsp页面:

<script type="text/ng-template" id="path/to/your/filters/top-Date-One.html">    <input type="text"  ng-click="popup1.opened=!popup1.opened"   uib-datepicker-popup="{{formats[2]}}"  ng-model="vm.dateInfoOne" is-open="popup1.opened" datepicker-options="dateOptions"  ng-required="true" close-text="Close" alt-input-formats="altInputFormats" readonly class="form-control width-inherit" style="background-color: #fff"/></script>
<table  ng-table="vm.tableParamsCompletedOrder" class="table table-condensed table-bordered table-striped">    <tr ng-repeat="order in $data">        <td title="‘Date‘" filter="{orderDate: ‘path/to/your/filters/top-Date-One.html‘}" sortable="‘orderDate‘">{{order.orderDate | date:‘dd-MM-yyyy‘}}</td>        <td title="‘User Email‘" filter="{userEmail: ‘text‘}" sortable="‘userEmail‘">{{order.userEmail}}</td>        <td title="‘First Name‘" filter="{firstName: ‘text‘}" sortable="‘firstName‘">{{order.firstName}}</td>        <td title="‘Last Name‘" filter="{lastName: ‘text‘}" sortable="‘lastName‘">{{order.lastName}}</td>        <td title="‘Company‘" filter="{companyName: ‘text‘}" sortable="‘companyName‘">{{order.companyName}}</td>        <td title="‘Order Number‘"  filter="{orderCode: ‘text‘ }"  sortable="‘orderCode‘"><a href="#" data-ng-click="fn.openOrderInfo(order);">{{order.orderCode}}</a></td>        <td title="‘Datasource‘" filter="{datasource: ‘text‘}" sortable="‘datasource‘">{{order.datasource}}</td>        <td title="‘Quantity‘" filter="{quantity : ‘text‘}" sortable="‘quantity‘">{{order.quantity}}</td>    </tr></table>

其中

input是bootstrap中对应的日历控件
id="path/to/your/filters/top-Date-One.html"  对应  filter="{orderDate: ‘path/to/your/filters/top-Date-One.html‘}"

js:
angular.module("ni.controllers.user.reports", ["ngTable", "ngTableDemos", "angularMask"]);angular.module("ni.controllers.user.reports").config(setConfigPhaseSettings);setConfigPhaseSettings.$inject = ["ngTableFilterConfigProvider"];function setConfigPhaseSettings(ngTableFilterConfigProvider) {    var filterAliasUrls = {        // note: ngTable also registers a ‘number‘ filter        // we‘re overriding this alias to point to our custom template    };    ngTableFilterConfigProvider.setConfig({        aliasUrls: filterAliasUrls    });

    // optionally set a default url to resolve alias names that have not been explicitly registered    // if you don‘t set one, then ‘ng-table/filters/‘ will be used by default    ngTableFilterConfigProvider.setConfig({        defaultBaseUrl: "ng-table/filters/"    });}

angularjs controller 中

//日历控件
$scope.popup1 = {    opened: false};$scope.dateOptions = {    formatYear: ‘yy‘,    startingDay: 1};$scope.formats = [‘dd-MMMM-yyyy‘, ‘yyyy/MM/dd‘, ‘dd-MM-yyyy‘, ‘shortDate‘];$scope.altInputFormats = [‘M!/d!/yyyy‘];

//ordersList post得到的结果集合
vm.tableParamsCompletedOrder = new NgTableParams({count: 15 }, {counts:[], dataset: ordersList });

//对于日历使用监听
$scope.$watch(‘vm.dateInfoOne‘,function(n,o){    if(n!=o && n != undefined && vm.status=="2,3,4"){        var temp;        temp= _.filter(vm.tempCompletedOrder,function(item){            return $filter(‘date‘)(n, ‘yyyy-MM-dd‘)==$filter(‘date‘)(item.orderDate, ‘yyyy-MM-dd‘);        });        vm.tableParamsCompletedOrder = new NgTableParams({count: 15, filter: vm.tableParamsCompletedOrder.filter()}, {counts:[], dataset: temp });    }else {        if (vm.tableParamsCompletedOrder != undefined) {            vm.tableParamsCompletedOrder = new NgTableParams({count: 15, filter: vm.tableParamsCompletedOrder.filter()}, {counts: [], dataset: vm.tempCompletedOrder});        }    }})

其中
vm.tableParamsCompletedOrder.filter()是向vm.tableParamsCompletedOrder中增加之前的过滤条件
$filter(‘date‘)(item.orderDate, ‘yyyy-MM-dd‘)将日期格式化,item.orderDate是字符戳的形式

具体参考http://ng-table.com/#/filtering/demo-custom-template

				
时间: 2024-10-01 07:33:26

angularjs ngTable -Custom filter template-calendar的相关文章

AngularJS学习--- 过滤器(filter),格式化要显示的数据 step 9

1.切换目录,启动项目 git checkout step-9 npm start 2.需求: 格式化要显示的数据. 比如要将true-->yes,false-->no,这样相互替换. 3.效果: 4.代码实现: 这里主要是使用filter过滤器来进行数据过滤,这里只是在前端进行数据过滤,原始数据是不发生变化的. $filter:Filters are used for formatting data displayed to the user,格式化要显示的数据. 用法: {{ expres

angularjs培训之filter

在angularjs中,filter提供了格式化数据或者过滤数据的功能: 1.请看下面简单的例子 <div ng-controller="phoneListExtendController"> I have {{friends.length}} friends. They are: <input type="search" ng-model="q" placeholder="filter friends..."

AngularJS学习笔记filter

filter是对数据进行过滤操作,比如按某个字段搜索.格式化数据等等,是一个非常有用的接口.下面就简单介绍下它的用法. AngularJS自带的filter接口,|是filter的分隔符,参数用:分隔: currency,格式化number,货币化,默认是转化成美元  param(number,symbol),返回值将会把数字每3位加一个逗号 <input type="number" ng-model="amount"/> <p>默认美元:{

【sqli-labs】 less32 GET- Bypass custom filter adding slashes to dangrous chars (GET型转义了&#39;/&quot;字符的宽字节注入)

转义函数,针对以下字符,这样就无法闭合引号,导致无法注入 ' --> \' " --> \" \ --> \\ 但是,当MySQL的客户端字符集为gbk时,就可能发生宽字节注入,参照 http://netsecurity.51cto.com/art/201404/435074.htm %df' --> %df\' %df%5c' 这样引号就被闭合了,至于%df%5c就成了汉字 運 成功闭合 http://192.168.136.128/sqli-labs-mas

angularJS学习小结——filter

引言 filter过滤器对于我们来说并不陌生,他和我们现实生活中的过滤器的意思差不多,它的作用就是接收一个输 入的值,然后按照某个规则进行处理然后输出最后的结果,例如我们输入一个数字,然后我们需要得到货币形式的数 据,这样我们就可以利用过滤器来实现,angularJS中的过滤器是非常简单的,分为内置和自定义两种,下面小编就 简单的给大家介绍一些. 内置过滤器 ng内置了一些过滤器,它们是:currency(货币).date(日期).filter(子串匹配).json(格式化json对象). li

AngularJS学习之filter过滤器的用法

系统的学习angularjs,发现angularjs的有些思想根php的模块smarty很像,例如数据绑定,filter.如果对smarty比较熟悉的话,学习angularjs会比较容易一点.这篇简单说一下angularjs的filter功能,angularjs的filter功能可分为二种,一种是内置的过滤器,一种是自定义的. 一,内置的过滤器 1,uppercase,lowercase大小转换 {{ "lower cap string" | uppercase }}   //结果:L

AngularJS之延迟加载html template

当使用AngularJs中的routes/views模式建立大型网站或者应用的时候,把所有的自定义文件,如controllers和template等在初始化时全部加载进来,不是一个好的办法.最好的方式是,初始化时仅仅加载所需要的文件.这些文件可能会依赖一个连接或者多个文件,然而它们仅仅被特定的route所使用.当我们切换route时,未被加载的文件将会按需加载.这不但能提高初始化页面的速度,而且可以防止带宽浪费. 网上大部分文章都在讲通过$routeProvider以及第三方服务对control

Angularjs中的$filter

官方文档:https://docs.angularjs.org/api/ng/filter/filter 1.Angularjs本身自带了一些filter currency: 为数字添加货币符号. {{currency_expression || currency: symbol:fractionSize}} 其中symbol.fractionSize是可选择的,symbol是定义货币符号,默认是$,fractionSize是小数点后的位数,默认是原数 date:格式化日期 {{date_exp

angularjs中的filter(过滤器)

源文地址:http://www.ncloud.hk/技术分享/angularjs中的filter-过滤器/ filters可以用来格式化数据.例如把时间格式化成为yyyy-MM-dd的形式来呈现给用户,方便查看.angularjs内置了一些filters,我们也可以根据自己的需要自定义一些filters. 下面是angularjs提供的filters: currency:格式化一个数字成为一种货币.当没有提供任何货币符号时,使用当前区域的默认符号. number:格式化数字成为文本 filter