Skip to content
This repository has been archived by the owner on Sep 8, 2020. It is now read-only.

Commit

Permalink
feat(grunt): use Angular UI Publisher
Browse files Browse the repository at this point in the history
Merge branch 'douglasduteil-feat-publisher'

Closes #88
  • Loading branch information
douglasduteil committed Dec 28, 2013
2 parents d3d9d63 + b630f40 commit 3ff67a5
Show file tree
Hide file tree
Showing 15 changed files with 461 additions and 213 deletions.
3 changes: 0 additions & 3 deletions .bowerrc

This file was deleted.

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
bower_components/
node_modules/
coverage/
dist/
out/
23 changes: 23 additions & 0 deletions .jshintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"boss": true,
"browser": true,
"eqnull": true,
"expr": true,
"globalstrict": true,
"immed": true,
"laxbreak": true,
"loopfunc": true,
"newcap": true,
"noarg": true,
"noempty": true,
"nonew": true,
"quotmark": true,
"smarttabs": true,
"sub": true,
"trailing": true,
"undef": true,
"unused": true,
"globals": {
"angular": false
}
}
45 changes: 36 additions & 9 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,39 @@
language: node_js
node_js:
- "0.8"

- '0.10'
before_install:
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
- npm install -g bower grunt-cli
- npm install
- bower install

script: "grunt"
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
- npm install -qg bower grunt-cli
- npm install -q
- bower install
after_success:
- ./node_modules/angular-ui-publisher/travis/authentication.sh || exit 0
- grunt dist build:gh-pages publish:gh-pages build:bower publish:bower
script: grunt
env:
global:
- REPO="[email protected]:angular-ui/ui-sortable.git"
- secure: lv6/NYEdeaQi/ITVGbmWLdj2LoHjrMaF511YoDOOEWjdtCZPUmIciMYDvDidaLzr5NKgtaQCzGouHIgbdM2r+blJndTB+fydXYw3nq9qvRsXRGbWH0TY2KtdB++73NhomHN2kOYAx7IOW7XN+StWG6kdBFJ6lDOZl9vOZTHnHvE=
- secure: A6zLTHw99hvJ37FNKPnW4y6Eu/G+1M7NEw4vgWDlyH96RB0QYYvRKuHVn68FRBtHSdcaFzuANjzxeE0QEBBhq4kM4AjsQtveBHJcTBDZGnzZB7krH1E8yrNH70EWI8b3bXsWzUaYeNgUMFJpFa1pEMWq2rCe0CwEFVHf8TlF7MI=
- secure: BEWMRv9ET7fXabDkAvRQJBsIziyDeYrVkXDEINgdDwaoNclYtDSnxyYMG1wAcoNM6Znb8MdcmZm2SaOUOxIwplukomh1i8oT6wXeEl+vaYoCS6kz9iwcqgE0rFx9Zo+9q+UCvst30aB//XtVt71tbpKYaNTilZH2U6gvmUxYUAM=
- secure: SbIj+dXPq3y+cREpT+GoXBflKr2SmonL+ini3Q+7EL+82xMbqnTYRRdVvSBOAbK35fskBgDec91kuF2jKKvi3n2kYLWqYC5a6MteMsD/Ne7ntmebSZ4xIoI2CnHnYMoh8X5r2R5ykAu9phKDb6ujNol2bSI/2UBeSXse1ROp6M8=
- secure: RCFXr57oVjSOnM28rYMSfi4xlU70R5bjbDU+NUhQ+Mw7S1Bz1B0F+ZwMRuXDz2GnBnA+2Vu6i6qY0TWxfd7SAkG7+mW8hKc7OrHjYSt6tPPeCfwx6fcnFF6wxWR5fOt47aX4sNnOkaAoPQa2rf6uPHknTP0mVJgX//hsS++8orw=
- secure: VPb2CQUyWC0BY5Pf2qJpUBEV3nPvvxeQYMZ/woVy53TN+EL0n0un70Ia9ddGBljcRLYht08lRnf8SMnSkpCyqtDGVY/XskzdR7D2JJk0DoBoShPHeVPz6wb+Za1F/syp1S+P4L+9+ZTrDFwkXoTN6ZEVoOqh8S5SW5lyxpBcOjo=
- secure: fGkAkjv8+0UEpmVDK2tDsJ2b7pAazNkZnBtIB+dLNDxeIPp/o75TiIN52dsjYMS4v8AhPX9XEGgURHKO4Tt3CJ42oAV3SXFSSKZ+HUad0YzEw0SCLsMJOJvGSyg8A9d811//KpDZkSvNTLRER9kW+ONVGWkaqDzZk9JNAiZQ21E=
- secure: moG6EmijG8fnkSEKWT5939qubV7bupNHiR1f61HAaC4dFN2fnQuqzamBlRTmdISOuhFKkMAZRt9ZpRjeOTwcGzE+PV2WkbLzZggn19uPV/4J6cm3MBDhnbJfrTnNCD+XoxfgJezwWL+yA+OTKOjKoli/c2j3gA18lHxL8RGGfWA=
- secure: ey2lvN+BsXGwYm8uMuVl22fv6ABqdqr+wEGsXVq0IwMfoyifXu7Zjbqq3dbxwOADlm2BpuBM1EMOh4b3J5Xae5KbkZ1olh8wbTT07XN6GdRyKoxRgkxORyjQe35uPpxNXPG/4MDPGvOer4tP205GSSET7GzXgTjeoUP/Wn04l3U=
- secure: BkaTcpkvyph2ktmqHmWV2sM+3U2X/Np7LH6CjV/up1tyUqLUVOg7KcxVnDhrfrzxeQQqDv8CX4bkE9OIe0PrIU5FzRDAlxmEA1n8iR/ZFQdLmdLXIT5Aq58oEggyB3GvmojOLSB2MT2jPucz+RpftaglaUtxwa20nxryigEDOdU=
- secure: TQqMgKNva40V429OmdCpFHiAXc86wIhnSN4MYSKpWKb4vmG7pL75ycjYCxADpKJjOjGb4JYk/UZOk/3PIWi2g0j/thNEIK48jak7dtA7I9RZ/pKA6JN4LxaSlcsrOUhFfWAzfchrqpbHCwvzKlbFJmulRXKAeFbqXmzf6IaUVZg=
- secure: CbGh34phZ9Fbzow1JmtDcbbfu5si7piJLUFFAxGlXlu7lYVp5XpgCJ40uIpbzArZ8ZYaD9ZtoCqBgW5dDKRMUdbyobIqbeIcnljAXrHR+M6FonLuao+TLOe9s2k1fThU4Pdxm9aGedz63UwaTdibCY+mFK7jNptxkfO4RAsnsuw=
- secure: i41+wqwnBiQ+OICjPcOFFTkkznqS6E3sVay9plI7RSQJjN4hj9Nvmarr6l9dqIUUSuIrkZVfynvpOezPT6mrOJZulpGOamJMBfueJ03Vk2pT8vtRRMh1ICyNSz6ZznORa7tZYOM+oI8Bi9gXJzVfxWvTF958XyVgX6GeYEWYCME=
- secure: gH09SKPIpoUCci3DGJ6jQYIOCtGuU12pUyMNJbws+/AKKgLTfozPqbsYZ/CWZOC5Wh/dvTiW0tRsZDYRfq1MWosoDjd1QxlzlhvqxQ120F1LtLHm9IPgrVdHBzG1dJdKUIkgYL+4pwgMbPJUWDfJduxd4iI1eZzqYEWR+lapjEE=
- secure: LHeYrBZ1mfPRi4xEv1pc+HlQGtUtsRFUHLMel7UafILSfjhqRu0p0uH0RvqjB4ctrjufqrpZh+C5iAitKULoX7drRZABxR4fUAGUT7UADJ3YAFuhseNNpNPa5LOqhcsxA4t+oFsnZq+/1HvGAXi/tkrIJlogiNdIO5/EcwI2GOc=
- secure: dq9Bjf+44cEeOqdVT8za+3uCGXcjAZ1DdkSZ1bp7qlEcFsV4xjgwa1Qa4XWl9D5x1ZjuQ/CG2Hbcm1N+CW9UtmJsxqmQye+WkwD14HzKoRTQubMW2woiTuPWj2HcZB03S24f9r83kxCyvdhBeNcNgqPYZByQerlWhd8mKzKvLq8=
- secure: bMOOsktaSAshyBJQMlLZMBVoHguYJRFM0FUkskhIi9OTXsJajBAw5TYqsSlEJcMb65tgWR0KzHYOVKesoZvq5pyWkIANIJduoGwAuhY6loMmhY+kBF4ZKx6d+V1pnyzT5uW/0Jn+nN6XiuXHGx/fjppAvi/AYd05+bRYvAvYoRQ=
- secure: Nit2R7+Ob/jDz0i/3iUrcMjskkwlr/Bp+xWYm9MS/9LSG19N+eV/1McNEe1joFUeQ29IfZUU522u27Twbf9h10X/4um99vSwxUkqyTpR5Gl8N7bu51bbRzGwTFqAQoxiIc2bEpSwVyql0okLnYsaZVDOjlyuAqZ1RRj+xBfcUrI=
- secure: ZoIMbOS9tUpCEZyWGEzkNITPvPorJ+d7n3yMGJqhD6Ud7n6oFyLskT7JECZ4cUiykVaWsAHGMN+xxYLUkAJLdhd2gE3reN+8JrSjJb32W0Sf+5z1ajcwWBsZu4nyxRpPo2QZduS7lU2M0+YdFs8qG7gEhploFDu7hZOI2RaCkTo=
- secure: DZhkAksHSU8MGN0dISwGWA2uuMEvxpeSmqJu2fpPTei//n5l/n+RqlfYH8hUKdMf87RBpXRY1VpHiFYpkNYsmf903gw3kdRWhW07hG3Yt9hXc+YIR0OK6KZ5sb/XZi/ZkWrPEInAL2Yol00e6+U13134SZlPE84P6ktXiKKtlMc=
- secure: Cy34UQZ7/9toUKV6905XYeXIaFdDRhLb+ibEbLnjoo3ifeApNaecc1l4aBN88HN6nKnX1TKSZyiETwCpCWCee2d7KTi4IhSFTAa+SVUTV6BmikhdUs6MwemyreyWFlxZD32huZKyWU9ZEAwwQ0Oq9gPqECWWZkdT4LInF6SLWLY=
- secure: E9gahGC9Swvy83Kos9LhFsxZp/zBI6Ll9lqQd6HxT7YSXj2YeoxSMCsF629bODPdtuMirhmFqReKZKL1lDpJBswr1sFtnmVavSwVBW4v/CIAQu0ENC85Knv1wgoAcl7cRisWaueSHJ0DyNstZZWGNWryIINg9zjFdrOSztDvoN8=
- secure: UxCvWwq2GcUdL3BtJyRMEFPHPRGIdPPLthThmWrmUE7dnblpDUdWVXKc62f7Y42qtHlhYh1EjxX0GJFcS1F0Lfge0e0cxDNWBATBoLKpC67kTyz/cUgqFEv6tsbkziBtbOrBuy6/LMZly1BqG/3fIDEJezkKOIqHF+pdApvAC/8=
32 changes: 31 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ui-sortable directive [![Build Status](https://travis-ci.org/angular-ui/ui-sortable.png)](https://travis-ci.org/angular-ui/ui-sortable)
# UI.Sortable directive [![Build Status](https://travis-ci.org/angular-ui/ui-sortable.png)](https://travis-ci.org/angular-ui/ui-sortable)

This directive allows you to sort array with drag & drop.

Expand Down Expand Up @@ -80,3 +80,33 @@ Feel free to edit any of them for your needs (don't forget to also update the li

- [Simple Demo](http://codepen.io/thgreasi/pen/BlFLp)
- [Connected Lists](http://codepen.io/thgreasi/pen/apwsb)


## Testing

We use Karma and jshint to ensure the quality of the code. The easiest way to run these checks is to use grunt:

```sh
npm install -g grunt-cli
npm install && bower install
grunt
```

The karma task will try to open Firefox and Chrome as browser in which to run the tests. Make sure this is available or change the configuration in `test\karma.conf.js`


### Grunt Serve

We have one task to serve them all !

```sh
grunt serve
```

It's equal to run separately:

* `grunt connect:server` : giving you a development server at [http://127.0.0.1:8000/](http://127.0.0.1:8000/).

* `grunt karma:server` : giving you a Karma server to run tests (at [http://localhost:9876/](http://localhost:9876/) by default). You can force a test on this server with `grunt karma:unit:run`.

* `grunt watch` : will automatically test your code and build your demo. You can demo generation with `grunt build:gh-pages`.
13 changes: 2 additions & 11 deletions demo/demo.css
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,6 @@

/*** Extra ***/

body {
font-family: Verdana, 'Trebuchet ms', Tahoma;
}

.logList {
margin-top: 20px;
width: 250px;
Expand All @@ -41,11 +37,6 @@ body {
background-color: #FFF;
}

.container {
width:300px;
margin: auto;
ul[ui-sortable] {
float: right;
}

h2 {
text-align: center;
}
73 changes: 13 additions & 60 deletions demo/demo.html
Original file line number Diff line number Diff line change
@@ -1,61 +1,14 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>AngularUI - Sortable Demo</title>
<base href=".."></base>
<link rel="stylesheet" href="bower_components/jquery-ui/themes/smoothness/jquery-ui.css">
<link rel="stylesheet" href="demo/demo.css">
<script type="text/javascript" src="bower_components/jquery/jquery.js"></script>
<script type="text/javascript" src="bower_components/jquery-ui/ui/jquery-ui.js"></script>
<script type="text/javascript" src="bower_components/angular/angular.js"></script>
<script type="text/javascript" src="src/sortable.js"></script>
<script type="text/javascript">
var myapp = angular.module('sortableApp', ['ui.sortable']);

myapp.controller('sortableController', function ($scope) {
var tmpList = [];

for (var i = 1; i <= 6; i++){
tmpList.push({
text: 'Item ' + i,
value: i
});
}

$scope.list = tmpList;


$scope.sortingLog = [];

$scope.sortableOptions = {
// called after a node is dropped
stop: function(e, ui) {
var logEntry = {
ID: $scope.sortingLog.length + 1,
Text: 'Moved element: ' + ui.item.scope().item.text
};
$scope.sortingLog.push(logEntry);
}
};
});
</script>
</head>
<body ng-app="sortableApp" ng-controller="sortableController">
<div class="container">
<h2>ui.sortable demo</h2>

<ul ui-sortable="sortableOptions" ng-model="list" class="list">
<li ng-repeat="item in list" class="item">{{item.text}}</li>
</ul>

<ul class="list logList">
<li ng-repeat="entry in sortingLog" class="logItem">{{entry.Text}}</li>
</ul>
<section ng-app="sortableApp" ng-controller="sortableController">
<div class="row">
<div class="span6">
<ul ui-sortable="sortableOptions" ng-model="list" class="list">
<li ng-repeat="item in list" class="item">{{item.text}}</li>
</ul>
</div>
<div class="span6">
<ul class="list logList">
<li ng-repeat="entry in sortingLog" class="logItem">{{entry.Text}}</li>
</ul>
</div>
</div>
</body>
</html>
</section>
30 changes: 30 additions & 0 deletions demo/demo.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
'use strict';

var myapp = angular.module('sortableApp', ['ui.sortable']);

myapp.controller('sortableController', function ($scope) {
var tmpList = [];

for (var i = 1; i <= 6; i++){
tmpList.push({
text: 'Item ' + i,
value: i
});
}

$scope.list = tmpList;


$scope.sortingLog = [];

$scope.sortableOptions = {
// called after a node is dropped
stop: function(e, ui) {
var logEntry = {
ID: $scope.sortingLog.length + 1,
Text: 'Moved element: ' + ui.item.scope().item.text
};
$scope.sortingLog.push(logEntry);
}
};
});
Loading

0 comments on commit 3ff67a5

Please sign in to comment.