SlideShare a Scribd company logo
AngularJS
AngularJS
Material
Corso base AngularJS Beniamino Ferrari 2
Angular Material
● Angular Material è un framework di componenti UI angular-
native di Google. È un'implementazione di riferimento del
Material Design di Google e fornisce più di 30 componenti e
servizi dell'interfaccia utente essenziali per le applicazioni
AngularJS mobili e desktop.
Corso base AngularJS Beniamino Ferrari 3
Prima Installazione npm (1)
● Visual Studio Creare nuova C# WebApplication con supporto WebApi
●
Aggiungere file index.html
● Eseguire comando
npm i -S angular angular-animate angular-aria angular-material
● Aggiungere nell’header della pagina
<meta charset="utf-8" />
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Angular Material style sheet -->
<link rel="stylesheet" href="node_modules/angular-material/angular-material.min.css">
Corso base AngularJS Beniamino Ferrari 4
Prima Installazione npm (2)
● Aggiungere il body come segue
<body ng-app="MyApp">
<script src="node_modules/angular/angular.min.js"></script>
<!-- animation -->
<script src="node_modules/angular-animate/angular-animate.min.js"></script>
<!-- acessibility support-->
<script src="node_modules/angular-aria/angular-aria.min.js"></script>
<script src="node_modules/angular-material/angular-material.min.js"></script>
<script>
angular.module('MyApp', ['ngMaterial'])
.run(function () { console.log('my app is ready !') });
</script>
</body>
Corso base AngularJS Beniamino Ferrari 5
Tabs
● Le direttive Angular md-tabs e md-tab vengono utilizzate per mostrare le tabs.
●
Md-tabs è contenitore che raggruppa più elementi md-tabs
<md-tabs md-selected="1" md-align="bottom”>
<md-tab label="tab1">
<md-tab-body>
<h1>Welcome to first tab</h1>
<md-tab-body>
</md-tab>
….
</md-tabs>
Corso base AngularJS Beniamino Ferrari 6
Attributi di md-tabs e md-tab
● I più importanti attributi di md-tabs
– md-selected: indice del tab attivo o selezionato
– md-align-tabs: attributo che indica la posizione dei pulsanti di tabulazione: in basso
o in alto (valore bottom o top); l'impostazione predefinita è in alto (valore top).
● I più importanti attributi di md-tab
– label: titolo del tab
– ng-disabled: se presente il tab è disabilitato
– md-on-deselect: se l’epressione associata è vera il tab viene deselezionato
– md-on-select: se l’espressione associata è vera il tab viene selezionato
– md-active: se l’espressione associata è vera il tab è attivo altrimenti è disabilitato
Corso base AngularJS Beniamino Ferrari 7
Side Nav (1)
● SideNav è la barra laterale, un elemento dell'interfaccia utente
che visualizza un elenco di scelte. Generalmente appare
come una colonna a sinistra del contenuto principale,
sebbene possa apparire anche sul lato destro.
● La md-sidenav la una direttiva angular per utilizzare la
SideNav
Corso base AngularJS Beniamino Ferrari 8
SideNav (2)
<script>
angular
.module('firstApplication', ['ngMaterial'])
.controller('sideNavController', sideNavController);
function sideNavController($scope, $mdSidenav) {
$scope.openLeftMenu = function () {
$mdSidenav('left').toggle();
};
}
</script>
Corso base AngularJS Beniamino Ferrari 9
SideNav (3)
<div id="sideNavContainer" ng-controller="sideNavController"
layout="row" ng-cloak>
<md-sidenav md-component-id="left" class="md-sidenav-left">
Welcome to Angular Matrial
</md-sidenav>
<md-content>
<md-button ng-click="openLeftMenu()">Open Left Menu</md-button>
</md-content>
</div>
Corso base AngularJS Beniamino Ferrari 10
SideNav (4)
● md-is-open: imposta un valore booleano a una variabile di scope
quando la sidebar è aperta o chiusa es. md-is-open=”left_is_open”
● md-component-id: è l’attributo che associa l’identificativo
compoenId che viene usato dal serivzio $mdSidenav
● $mdSidenav è servizio che controlla la sidenav
● $mdSidenav(‘my-md-component-id’).toggle(); apre sidenav
● $mdSidenav(‘my-md-component-id’).close(); chiude sidenav
Corso base AngularJS Beniamino Ferrari 11
NgSideNav (4)
● Esponiamo un esempio su come cambiare il contenuto della pagina
quando viene premuta una voce della sidenav
● Per questo esempio è necessario installare ngRoute, quindi oltre
all’installazione base di angular material,
eseguiamo il comando
– npm install angular-route
aggiungiamo nella pagina dopo il link ad angular
– <script src="node_modules/angular-route/angular-route.min.js"></script>
–
Corso base AngularJS Beniamino Ferrari 12
NgSideNav (5)
<script>
angular
.module('MyApp', ['ngMaterial', 'ngRoute'])
.controller('AppCtrl', function ($scope, $mdSidenav) {
$scope.toShow = "home";
$scope.toggleLeft = function () {
$mdSidenav("left") .toggle();
};
$scope.close = function () {
$mdSidenav('left').close();
};
$scope.show = function (toShow) {
$scope.toShow = toShow;
};
});
</script>
Corso base AngularJS Beniamino Ferrari 13
NgSideNav (6)
<div ng-controller="AppCtrl" layout="column" style="height:500px;" ng-cloak ng-app="MyApp">
<md-sidenav class="md-sidenav-left" md-component-id="left">
<md-toolbar class="md-theme-indigo" layout="row">
<h1 class="md-toolbar-tools">Sidenav Left</h1>
<span flex></span>
<md-button ng-click="close()">Close</md-button>
</md-toolbar>
<md-content layout-padding="" layout="column" layout-align="start start">
<md-button ng-click="show('home')" class="md-primary">Show Home</md-button>
<md-button ng-click="show('work')" class="md-primary">Show Work</md-button>
</md-content>
</md-sidenav>
Corso base AngularJS Beniamino Ferrari 14
NgSideNav (7)
<md-content flex="" layout-padding="" layout="column" layout-align="top center">
<md-button ng-click="toggleLeft()" class="md-primary">
Toggle left
</md-button>
<div ng-switch="toShow">
<div ng-switch-when="home">
Home!
</div>
<div ng-switch-when="work">
Work!
</div>
</div>
</md-content>
</div>
Corso base AngularJS Beniamino Ferrari 15
md-select (1)
● Mostra un input di selezione
● La selezione verrà impostata nella variabile di scope definita
all’interno dell’attributo ng-model.
● All’interno di un elemento md-select ci sono n elementi md-
option solitamente elencati tramite una ng-repeat
Corso base AngularJS Beniamino Ferrari 16
md-select (2)
<div ng-controller="MyCtrl">
<md-select ng-model="selectedUser">
<md-option ng-value="user" ng-repeat="user in
users">{{ user.name }}
</md-option>
</md-select>
</div>
Corso base AngularJS Beniamino Ferrari 17
md-select (3)
angular.controller('MyCtrl', function($scope) {
$scope.users = [
{ id: 1, name: 'Bob' },
{ id: 2, name: 'Alice' },
{ id: 3, name: 'Steve' }
];
$scope.selectedUser = { id: 1, name: 'Bob' };
});
Corso base AngularJS Beniamino Ferrari 18
Md-dialog (1)
● md-dialog è la direttiva che permette all’elemento contenitore
di essere usato come dialog
● mdDialog, è un servizio che apre una finestra di dialogo per
informare gli utenti e per permettere di prendere decisioni
Corso base AngularJS Beniamino Ferrari 19
Md-dialog (2)
<script language = "javascript">
angular
.module('firstApplication', ['ngMaterial'])
.controller('dialogController', dialogController);
function dialogController ($scope, $mdDialog) {
$scope.status = '';
Corso base AngularJS Beniamino Ferrari 20
Md-dialog (2)
$scope.showConfirm = function(event) {
var confirm = $mdDialog.confirm()
.title('Are you sure to delete the record?')
.textContent('Record will be deleted permanently.')
.targetEvent(event)
.ok('Yes')
.cancel('No');
$mdDialog.show(confirm).then(function() {
$scope.status = 'Record deleted successfully!';
}, function() {
$scope.status = 'You decided to keep your record.';
});
};
} //fine controller
Corso base AngularJS Beniamino Ferrari 21
Md-dialog (3)
<body ng-app = "firstApplication">
<div id = "dialogContainer" ng-controller = "dialogController"
layout = "row" ng-cloak>
<md-content>
<h4>Confirm Dialog Box</h4>
<md-button class = "md-primary md-raised" ng-click = "showConfirm($event)">
Confirm
</md-button>
<div ng-if = "status">
<br/>
<b layout = "row" layout-align = "center center">
{{status}}
</b>
</div>
</md-content>
</div>
</body>

More Related Content

PPTX
Angular js: routing
PPTX
AngularJS: server communication
PPTX
AngularJS: accessibility
PPTX
CommitUniversity AngularJSAdvanced Andrea Vallotti
PDF
Tech Webinar: Advanced AngularJS, tecniche avanzate per padroneggiare il fram...
PDF
jQuery - 5 | WebMaster & WebDesigner
PDF
Umarells
KEY
Android Widget @ whymca 2011
Angular js: routing
AngularJS: server communication
AngularJS: accessibility
CommitUniversity AngularJSAdvanced Andrea Vallotti
Tech Webinar: Advanced AngularJS, tecniche avanzate per padroneggiare il fram...
jQuery - 5 | WebMaster & WebDesigner
Umarells
Android Widget @ whymca 2011

Similar to Corso angular js material (20)

ODP
Corso angular js componenti
ODP
Corso angular js base
PPTX
Fe04 angular js-101
PPTX
AngularJS – Reinventare le applicazioni web
PDF
AngularJS-Intro
PDF
Angularjs
PDF
Acadevmy - Angular Overview
PPTX
Corso 3 giorni Angular 2+
PDF
Data binding libera tutti!
PDF
Data binding libera tutti!
PDF
Introduzione ad angular 7/8
PPTX
AngularJS 2.0
PDF
Angular 4 - convertire o migrare un'applicazione Angularjs
PPTX
Come fare SEO con AngularJS
PDF
DrupalDay 2014: AngularJS + IonicFramework + Drupal Services
PDF
DDAY2014 - Costruire una app mobile con Ionic, AngularJS ed ovviamente Drupal
PPTX
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
PPTX
Meetup ASP.NET Core Angular
PDF
Front-end: Guide for developers - Edit by Lorenzo Stacchio
PPTX
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Corso angular js componenti
Corso angular js base
Fe04 angular js-101
AngularJS – Reinventare le applicazioni web
AngularJS-Intro
Angularjs
Acadevmy - Angular Overview
Corso 3 giorni Angular 2+
Data binding libera tutti!
Data binding libera tutti!
Introduzione ad angular 7/8
AngularJS 2.0
Angular 4 - convertire o migrare un'applicazione Angularjs
Come fare SEO con AngularJS
DrupalDay 2014: AngularJS + IonicFramework + Drupal Services
DDAY2014 - Costruire una app mobile con Ionic, AngularJS ed ovviamente Drupal
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
Meetup ASP.NET Core Angular
Front-end: Guide for developers - Edit by Lorenzo Stacchio
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Ad

More from Beniamino Ferrari (11)

PDF
Laravel 7 REST API
PDF
Laravel Framework PHP
PPTX
Xamarin.android
PPTX
Persistenza su Xamarin
PPTX
Interfaccia di Xamarin
PPTX
Xaml su Xamarin
PPTX
Installazione di Xamarin
PPTX
Introduzione a Xamarin
ODP
Net core base
ODP
Corso linux base
PDF
couchbase mobile
Laravel 7 REST API
Laravel Framework PHP
Xamarin.android
Persistenza su Xamarin
Interfaccia di Xamarin
Xaml su Xamarin
Installazione di Xamarin
Introduzione a Xamarin
Net core base
Corso linux base
couchbase mobile
Ad

Corso angular js material

  • 2. Corso base AngularJS Beniamino Ferrari 2 Angular Material ● Angular Material è un framework di componenti UI angular- native di Google. È un'implementazione di riferimento del Material Design di Google e fornisce più di 30 componenti e servizi dell'interfaccia utente essenziali per le applicazioni AngularJS mobili e desktop.
  • 3. Corso base AngularJS Beniamino Ferrari 3 Prima Installazione npm (1) ● Visual Studio Creare nuova C# WebApplication con supporto WebApi ● Aggiungere file index.html ● Eseguire comando npm i -S angular angular-animate angular-aria angular-material ● Aggiungere nell’header della pagina <meta charset="utf-8" /> <title></title> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Angular Material style sheet --> <link rel="stylesheet" href="node_modules/angular-material/angular-material.min.css">
  • 4. Corso base AngularJS Beniamino Ferrari 4 Prima Installazione npm (2) ● Aggiungere il body come segue <body ng-app="MyApp"> <script src="node_modules/angular/angular.min.js"></script> <!-- animation --> <script src="node_modules/angular-animate/angular-animate.min.js"></script> <!-- acessibility support--> <script src="node_modules/angular-aria/angular-aria.min.js"></script> <script src="node_modules/angular-material/angular-material.min.js"></script> <script> angular.module('MyApp', ['ngMaterial']) .run(function () { console.log('my app is ready !') }); </script> </body>
  • 5. Corso base AngularJS Beniamino Ferrari 5 Tabs ● Le direttive Angular md-tabs e md-tab vengono utilizzate per mostrare le tabs. ● Md-tabs è contenitore che raggruppa più elementi md-tabs <md-tabs md-selected="1" md-align="bottom”> <md-tab label="tab1"> <md-tab-body> <h1>Welcome to first tab</h1> <md-tab-body> </md-tab> …. </md-tabs>
  • 6. Corso base AngularJS Beniamino Ferrari 6 Attributi di md-tabs e md-tab ● I più importanti attributi di md-tabs – md-selected: indice del tab attivo o selezionato – md-align-tabs: attributo che indica la posizione dei pulsanti di tabulazione: in basso o in alto (valore bottom o top); l'impostazione predefinita è in alto (valore top). ● I più importanti attributi di md-tab – label: titolo del tab – ng-disabled: se presente il tab è disabilitato – md-on-deselect: se l’epressione associata è vera il tab viene deselezionato – md-on-select: se l’espressione associata è vera il tab viene selezionato – md-active: se l’espressione associata è vera il tab è attivo altrimenti è disabilitato
  • 7. Corso base AngularJS Beniamino Ferrari 7 Side Nav (1) ● SideNav è la barra laterale, un elemento dell'interfaccia utente che visualizza un elenco di scelte. Generalmente appare come una colonna a sinistra del contenuto principale, sebbene possa apparire anche sul lato destro. ● La md-sidenav la una direttiva angular per utilizzare la SideNav
  • 8. Corso base AngularJS Beniamino Ferrari 8 SideNav (2) <script> angular .module('firstApplication', ['ngMaterial']) .controller('sideNavController', sideNavController); function sideNavController($scope, $mdSidenav) { $scope.openLeftMenu = function () { $mdSidenav('left').toggle(); }; } </script>
  • 9. Corso base AngularJS Beniamino Ferrari 9 SideNav (3) <div id="sideNavContainer" ng-controller="sideNavController" layout="row" ng-cloak> <md-sidenav md-component-id="left" class="md-sidenav-left"> Welcome to Angular Matrial </md-sidenav> <md-content> <md-button ng-click="openLeftMenu()">Open Left Menu</md-button> </md-content> </div>
  • 10. Corso base AngularJS Beniamino Ferrari 10 SideNav (4) ● md-is-open: imposta un valore booleano a una variabile di scope quando la sidebar è aperta o chiusa es. md-is-open=”left_is_open” ● md-component-id: è l’attributo che associa l’identificativo compoenId che viene usato dal serivzio $mdSidenav ● $mdSidenav è servizio che controlla la sidenav ● $mdSidenav(‘my-md-component-id’).toggle(); apre sidenav ● $mdSidenav(‘my-md-component-id’).close(); chiude sidenav
  • 11. Corso base AngularJS Beniamino Ferrari 11 NgSideNav (4) ● Esponiamo un esempio su come cambiare il contenuto della pagina quando viene premuta una voce della sidenav ● Per questo esempio è necessario installare ngRoute, quindi oltre all’installazione base di angular material, eseguiamo il comando – npm install angular-route aggiungiamo nella pagina dopo il link ad angular – <script src="node_modules/angular-route/angular-route.min.js"></script> –
  • 12. Corso base AngularJS Beniamino Ferrari 12 NgSideNav (5) <script> angular .module('MyApp', ['ngMaterial', 'ngRoute']) .controller('AppCtrl', function ($scope, $mdSidenav) { $scope.toShow = "home"; $scope.toggleLeft = function () { $mdSidenav("left") .toggle(); }; $scope.close = function () { $mdSidenav('left').close(); }; $scope.show = function (toShow) { $scope.toShow = toShow; }; }); </script>
  • 13. Corso base AngularJS Beniamino Ferrari 13 NgSideNav (6) <div ng-controller="AppCtrl" layout="column" style="height:500px;" ng-cloak ng-app="MyApp"> <md-sidenav class="md-sidenav-left" md-component-id="left"> <md-toolbar class="md-theme-indigo" layout="row"> <h1 class="md-toolbar-tools">Sidenav Left</h1> <span flex></span> <md-button ng-click="close()">Close</md-button> </md-toolbar> <md-content layout-padding="" layout="column" layout-align="start start"> <md-button ng-click="show('home')" class="md-primary">Show Home</md-button> <md-button ng-click="show('work')" class="md-primary">Show Work</md-button> </md-content> </md-sidenav>
  • 14. Corso base AngularJS Beniamino Ferrari 14 NgSideNav (7) <md-content flex="" layout-padding="" layout="column" layout-align="top center"> <md-button ng-click="toggleLeft()" class="md-primary"> Toggle left </md-button> <div ng-switch="toShow"> <div ng-switch-when="home"> Home! </div> <div ng-switch-when="work"> Work! </div> </div> </md-content> </div>
  • 15. Corso base AngularJS Beniamino Ferrari 15 md-select (1) ● Mostra un input di selezione ● La selezione verrà impostata nella variabile di scope definita all’interno dell’attributo ng-model. ● All’interno di un elemento md-select ci sono n elementi md- option solitamente elencati tramite una ng-repeat
  • 16. Corso base AngularJS Beniamino Ferrari 16 md-select (2) <div ng-controller="MyCtrl"> <md-select ng-model="selectedUser"> <md-option ng-value="user" ng-repeat="user in users">{{ user.name }} </md-option> </md-select> </div>
  • 17. Corso base AngularJS Beniamino Ferrari 17 md-select (3) angular.controller('MyCtrl', function($scope) { $scope.users = [ { id: 1, name: 'Bob' }, { id: 2, name: 'Alice' }, { id: 3, name: 'Steve' } ]; $scope.selectedUser = { id: 1, name: 'Bob' }; });
  • 18. Corso base AngularJS Beniamino Ferrari 18 Md-dialog (1) ● md-dialog è la direttiva che permette all’elemento contenitore di essere usato come dialog ● mdDialog, è un servizio che apre una finestra di dialogo per informare gli utenti e per permettere di prendere decisioni
  • 19. Corso base AngularJS Beniamino Ferrari 19 Md-dialog (2) <script language = "javascript"> angular .module('firstApplication', ['ngMaterial']) .controller('dialogController', dialogController); function dialogController ($scope, $mdDialog) { $scope.status = '';
  • 20. Corso base AngularJS Beniamino Ferrari 20 Md-dialog (2) $scope.showConfirm = function(event) { var confirm = $mdDialog.confirm() .title('Are you sure to delete the record?') .textContent('Record will be deleted permanently.') .targetEvent(event) .ok('Yes') .cancel('No'); $mdDialog.show(confirm).then(function() { $scope.status = 'Record deleted successfully!'; }, function() { $scope.status = 'You decided to keep your record.'; }); }; } //fine controller
  • 21. Corso base AngularJS Beniamino Ferrari 21 Md-dialog (3) <body ng-app = "firstApplication"> <div id = "dialogContainer" ng-controller = "dialogController" layout = "row" ng-cloak> <md-content> <h4>Confirm Dialog Box</h4> <md-button class = "md-primary md-raised" ng-click = "showConfirm($event)"> Confirm </md-button> <div ng-if = "status"> <br/> <b layout = "row" layout-align = "center center"> {{status}} </b> </div> </md-content> </div> </body>