Skip to content

Commit 97031eb

Browse files
committed
angular & rest
1 parent b3a8bb4 commit 97031eb

File tree

5 files changed

+63
-36
lines changed

5 files changed

+63
-36
lines changed
Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* @author Misbahul D Munir <misbahuldmunir@gmail.com>
99
* @since 1.0
1010
*/
11-
class DeeAngularAsset extends \yii\web\AssetBundle
11+
class DeeAngularRestAsset extends \yii\web\AssetBundle
1212
{
1313
/**
1414
* @inheritdoc
@@ -20,16 +20,12 @@ class DeeAngularAsset extends \yii\web\AssetBundle
2020
*/
2121
public $js = [
2222
'js/dee-angular-rest.js',
23-
'js/dee-angular-ui.js',
24-
'js/dee-angular.js',
2523
];
2624

2725
/**
2826
* @inheritdoc
2927
*/
3028
public $depends = [
31-
'yii\web\JqueryAsset',
32-
'dee\angular\AngularAsset',
3329
'dee\angular\AngularResourceAsset',
3430
];
3531

DeeAngularUiAsset.php

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
3+
namespace dee\angular;
4+
5+
/**
6+
* AngularAsset
7+
*
8+
* @author Misbahul D Munir <misbahuldmunir@gmail.com>
9+
* @since 1.0
10+
*/
11+
class DeeAngularUiAsset extends \yii\web\AssetBundle
12+
{
13+
/**
14+
* @inheritdoc
15+
*/
16+
public $sourcePath = '@dee/angular/assets';
17+
18+
/**
19+
* @inheritdoc
20+
*/
21+
public $js = [
22+
'js/dee-angular-ui.js',
23+
];
24+
25+
/**
26+
* @inheritdoc
27+
*/
28+
public $depends = [
29+
'dee\angular\AngularAsset',
30+
];
31+
32+
}

NgView.php

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -74,14 +74,15 @@ class NgView extends Widget
7474
*/
7575
public static $requireAssets = [
7676
'ui.bootstrap' => 'dee\angular\AngularBootstrapAsset',
77-
'dee' => 'dee\angular\DeeAngularAsset',
77+
'dee.ui' => 'dee\angular\DeeAngularUiAsset',
78+
'dee.rest' => 'dee\angular\DeeAngularRestAsset',
7879
'ngRoute' => 'dee\angular\AngularRouteAsset',
7980
'ngResource' => 'dee\angular\AngularResourceAsset',
8081
'ngAnimate' => 'dee\angular\AngularAnimateAsset',
8182
'ngAria' => 'dee\angular\AngularAnimateAsset',
8283
'ngTouch' => 'dee\angular\AngularAnimateAsset',
8384
'validation' => 'dee\angular\AngularValidationAsset',
84-
'validation.rule'=>'dee\angular\AngularValidationAsset'
85+
'validation.rule' => 'dee\angular\AngularValidationAsset',
8586
];
8687
private $_varName;
8788

@@ -113,9 +114,9 @@ public function run()
113114
$visible = ArrayHelper::remove($route, 'visible', true);
114115
list($routeProvider, $controller, $template) = $this->applyRoute($route, $path);
115116

116-
if($path === 'otherwise'){
117+
if ($path === 'otherwise') {
117118
$routeProviders[] = "\$routeProvider.otherwise({$routeProvider});";
118-
}elseif ($visible) {
119+
} elseif ($visible) {
119120
$p = Json::htmlEncode($path);
120121
$routeProviders[] = "\$routeProvider.when({$p},{$routeProvider});";
121122
}
@@ -134,8 +135,13 @@ public function run()
134135
$js[] = $this->renderRouteProviders($routeProviders);
135136
$js[] = $this->renderControllers($controllers);
136137
$js[] = $this->renderResources();
138+
if ($this->js !== null) {
139+
foreach ((array)$this->js as $file) {
140+
$js[] = "\n" . static::parseBlockJs($view->render($file));
141+
}
142+
}
137143

138-
$options = empty($this->clientOptions)?'{}': Json::htmlEncode($this->clientOptions);
144+
$options = empty($this->clientOptions) ? '{}' : Json::htmlEncode($this->clientOptions);
139145
$js[] = "\nreturn module;\n})({$options});";
140146

141147
$view->registerJs(implode("\n", $js), WebView::POS_END);
@@ -214,10 +220,6 @@ protected function renderModule()
214220
}
215221
$js = "var module = angular.module('{$this->name}'," . Json::htmlEncode($requires) . ");\n"
216222
. "var {$this->_varName} = module;";
217-
218-
if ($this->js !== null) {
219-
$js .= "\n" . static::parseBlockJs($view->render($this->js));
220-
}
221223
return $js;
222224
}
223225

@@ -252,7 +254,7 @@ protected function renderControllers($controllers)
252254
$view = $this->getView();
253255
foreach ($controllers as $name => $injection) {
254256
$injection = array_unique(array_merge(['$scope', '$injector'], (array) $injection));
255-
$injectionStr = rtrim(Json::htmlEncode($injection),']');
257+
$injectionStr = rtrim(Json::htmlEncode($injection), ']');
256258
$injectionVar = implode(", ", $injection);
257259
$function = implode("\n", ArrayHelper::getValue($view->js, $name, []));
258260
$js[] = "module.controller('$name',{$injectionStr},\nfunction($injectionVar){\n{$function}\n}]);";

assets/js/dee-angular-ui.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,22 @@
6262
}
6363
};
6464
}]);
65+
66+
module.factory('$pageInfo', function () {
67+
var pub = function (callback, info) {
68+
var res = {}, p = info || {};
69+
angular.forEach(pub.pagerHeaderMap, function (val, key) {
70+
res[key] = p[key] = callback(val);
71+
});
72+
};
73+
74+
pub.pagerHeaderMap = {
75+
totalItems: 'X-Pagination-Total-Count',
76+
pageCount: 'X-Pagination-Page-Count',
77+
page: 'X-Pagination-Current-Page',
78+
itemPerPage: 'X-Pagination-Per-Page',
79+
};
80+
81+
return pub;
82+
});
6583
})();

assets/js/dee-angular.js

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)