SlideShare uma empresa Scribd logo
1 de 21
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>

Mais conteúdo relacionado

Semelhante a Corso angular js material

Introduzione alla programmazione android - Android@tulug lezione 2
Introduzione alla programmazione android - Android@tulug lezione 2Introduzione alla programmazione android - Android@tulug lezione 2
Introduzione alla programmazione android - Android@tulug lezione 2Ivan Gualandri
 
Introduzione ai componenti in Angular 4
Introduzione ai componenti in Angular 4Introduzione ai componenti in Angular 4
Introduzione ai componenti in Angular 4Giovanni Buffa
 
E suap - tecnologie client
E suap - tecnologie client E suap - tecnologie client
E suap - tecnologie client Sabino Labarile
 
Django & Google App Engine: a value composition
Django & Google App Engine: a value compositionDjango & Google App Engine: a value composition
Django & Google App Engine: a value compositionOpen Makers Italy
 
Introduzione ad angular 7/8
Introduzione ad angular 7/8Introduzione ad angular 7/8
Introduzione ad angular 7/8Valerio Radice
 
Meetup ASP.NET Core Angular
Meetup ASP.NET Core AngularMeetup ASP.NET Core Angular
Meetup ASP.NET Core Angulardotnetcode
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerMatteo Magni
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerMatteo Magni
 
Bootstrap 3.0 - Introduzione
Bootstrap 3.0 - IntroduzioneBootstrap 3.0 - Introduzione
Bootstrap 3.0 - IntroduzioneMatteo Madeddu
 
AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webLuca Milan
 
Drupal Day 2012 - DRUPAL 8: I CAMBIAMENTI CHE CI ASPETTANO
Drupal Day 2012 - DRUPAL 8:  I CAMBIAMENTI CHE CI ASPETTANODrupal Day 2012 - DRUPAL 8:  I CAMBIAMENTI CHE CI ASPETTANO
Drupal Day 2012 - DRUPAL 8: I CAMBIAMENTI CHE CI ASPETTANODrupalDay
 
Modificare e personalizzare WordPress attraverso 20 Snippets
Modificare e personalizzare WordPress attraverso 20 SnippetsModificare e personalizzare WordPress attraverso 20 Snippets
Modificare e personalizzare WordPress attraverso 20 SnippetsPetrozzi Emilio
 
Reccomandation engine with GraphDB
Reccomandation engine with GraphDBReccomandation engine with GraphDB
Reccomandation engine with GraphDBPiero Bozzolo
 

Semelhante a Corso angular js material (20)

Corso angular js base
Corso angular js baseCorso angular js base
Corso angular js base
 
AngularJS-Intro
AngularJS-IntroAngularJS-Intro
AngularJS-Intro
 
Introduzione alla programmazione android - Android@tulug lezione 2
Introduzione alla programmazione android - Android@tulug lezione 2Introduzione alla programmazione android - Android@tulug lezione 2
Introduzione alla programmazione android - Android@tulug lezione 2
 
Angularjs
AngularjsAngularjs
Angularjs
 
Corso angular js componenti
Corso angular js componentiCorso angular js componenti
Corso angular js componenti
 
MVC2: non solo tecnologia
MVC2: non solo tecnologiaMVC2: non solo tecnologia
MVC2: non solo tecnologia
 
AngularJS 2.0
AngularJS 2.0 AngularJS 2.0
AngularJS 2.0
 
Introduzione ai componenti in Angular 4
Introduzione ai componenti in Angular 4Introduzione ai componenti in Angular 4
Introduzione ai componenti in Angular 4
 
E suap - tecnologie client
E suap - tecnologie client E suap - tecnologie client
E suap - tecnologie client
 
Vue.js
Vue.jsVue.js
Vue.js
 
Django & Google App Engine: a value composition
Django & Google App Engine: a value compositionDjango & Google App Engine: a value composition
Django & Google App Engine: a value composition
 
Introduzione ad angular 7/8
Introduzione ad angular 7/8Introduzione ad angular 7/8
Introduzione ad angular 7/8
 
Meetup ASP.NET Core Angular
Meetup ASP.NET Core AngularMeetup ASP.NET Core Angular
Meetup ASP.NET Core Angular
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
 
Bootstrap 3.0 - Introduzione
Bootstrap 3.0 - IntroduzioneBootstrap 3.0 - Introduzione
Bootstrap 3.0 - Introduzione
 
AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni web
 
Drupal Day 2012 - DRUPAL 8: I CAMBIAMENTI CHE CI ASPETTANO
Drupal Day 2012 - DRUPAL 8:  I CAMBIAMENTI CHE CI ASPETTANODrupal Day 2012 - DRUPAL 8:  I CAMBIAMENTI CHE CI ASPETTANO
Drupal Day 2012 - DRUPAL 8: I CAMBIAMENTI CHE CI ASPETTANO
 
Modificare e personalizzare WordPress attraverso 20 Snippets
Modificare e personalizzare WordPress attraverso 20 SnippetsModificare e personalizzare WordPress attraverso 20 Snippets
Modificare e personalizzare WordPress attraverso 20 Snippets
 
Reccomandation engine with GraphDB
Reccomandation engine with GraphDBReccomandation engine with GraphDB
Reccomandation engine with GraphDB
 

Mais de Beniamino Ferrari (11)

Laravel 7 REST API
Laravel 7 REST APILaravel 7 REST API
Laravel 7 REST API
 
Laravel Framework PHP
Laravel Framework PHPLaravel Framework PHP
Laravel Framework PHP
 
Xamarin.android
Xamarin.androidXamarin.android
Xamarin.android
 
Persistenza su Xamarin
Persistenza su XamarinPersistenza su Xamarin
Persistenza su Xamarin
 
Interfaccia di Xamarin
Interfaccia di XamarinInterfaccia di Xamarin
Interfaccia di Xamarin
 
Xaml su Xamarin
Xaml su XamarinXaml su Xamarin
Xaml su Xamarin
 
Installazione di Xamarin
Installazione di XamarinInstallazione di Xamarin
Installazione di Xamarin
 
Introduzione a Xamarin
Introduzione a XamarinIntroduzione a Xamarin
Introduzione a Xamarin
 
Net core base
Net core baseNet core base
Net core base
 
Corso linux base
Corso linux baseCorso linux base
Corso linux base
 
couchbase mobile
couchbase mobilecouchbase mobile
couchbase mobile
 

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>