· 6 years ago · Nov 18, 2019, 09:50 AM
1import $$ from 'dom7';
2import Framework7 from 'framework7/framework7.esm.bundle.js';
3
4// Import F7 Styles
5import 'framework7/css/framework7.bundle.css';
6
7// Import Icons and App Custom Styles
8import '../css/icons.css';
9import '../css/app.css';
10// Import Cordova APIs
11import cordovaApp from './cordova-app.js';
12// Import Routes
13import routes from './routes.js';
14
15var app = new Framework7({
16 root: '#app', // App root element
17 id: 'io.framework7.myapp', // App bundle ID
18 name: 'test', // App name
19 theme: 'auto', // Automatic theme detection
20 // App root data
21 data: function () {
22 return {
23 user: {
24 firstName: 'John',
25 lastName: 'Doe',
26 },
27
28 };
29 },
30 // App root methods
31 methods: {
32 helloWorld: function () {
33 app.dialog.alert('Hello World!');
34 },
35 },
36 // App routes
37 routes: routes,
38 // Enable panel left visibility breakpoint
39 panel: {
40 leftBreakpoint: 960,
41 },
42
43
44 // Input settings
45 input: {
46 scrollIntoViewOnFocus: Framework7.device.cordova && !Framework7.device.electron,
47 scrollIntoViewCentered: Framework7.device.cordova && !Framework7.device.electron,
48 },
49 // Cordova Statusbar settings
50 statusbar: {
51 overlay: Framework7.device.cordova && Framework7.device.ios || 'auto',
52 iosOverlaysWebView: true,
53 androidOverlaysWebView: false,
54 },
55 on: {
56 init: function () {
57 var f7 = this;
58 if (f7.device.cordova) {
59 // Init cordova APIs (see cordova-app.js)
60 cordovaApp.init(f7);
61 }
62 init();
63 },
64 },
65});
66
67// Login Screen Demo
68$$('#my-login-screen .login-button').on('click', function () {
69 var username = $$('#my-login-screen [name="username"]').val();
70 var password = $$('#my-login-screen [name="password"]').val();
71
72 // Close login screen
73 app.loginScreen.close('#my-login-screen');
74
75 // Alert username and password
76 app.dialog.alert('Username: ' + username + '<br>Password: ' + password);
77});
78
79var db;
80var shortName = 'BazaFX';
81var version = '1.0';
82var displayName = 'BazaFX';
83var maxSize = 65535;
84
85// wywoływana kiedy pojawi się błąd w połączeniu do bazy:
86function errorHandler(transaction, error) {
87 alert('Błąd: ' + error.message + ' kod błędu: ' + error.code);
88}
89
90// Funkcja wywoływana po udanej transakcji z bazą
91function successCallBack() {
92 console.log("Debuger: sukces!");
93}
94
95function nullHandler(){};
96
97//Funkcja wywoływana po starcie apki
98function init(){
99 if (!window.openDatabase) {
100 alert('Twoje urządzenie nie obsługuje SQLite!');
101 return;
102 }
103 db = openDatabase(shortName, version, displayName,maxSize); //tworzy połączenie z bazą
104 db.transaction(function(tx){ //wykonuje SQL
105 // tx.executeSql( 'DROP TABLE User',nullHandler,nullHandler);
106 tx.executeSql( 'CREATE TABLE IF NOT EXISTS User(UserId INTEGER NOT NULL PRIMARY KEY, Marka TEXT NOT NULL,Model TEXT NOT NULL, Rok TEXT NOT NULL, Przebieg TEXT NOT NULL, Pojemnosc TEXT NOT NULL)',[],nullHandler,errorHandler);},errorHandler,successCallBack);
107 db.transaction(function(tx){
108 tx.executeSql(
109 'CREATE TABLE IF NOT EXISTS Kierowca(KierowcaId INTEGER NOT NULL PRIMARY KEY, Imie TEXT NOT NULL, Nazwisko TEXT NOT NULL, Pesel TEXT NOT NULL, Adres TEXT NOT NULL)'
110 //'DROP TABLE Kierowca'
111 ,[],nullHandler,errorHandler);},errorHandler,successCallBack);
112 };
113
114function ListDBValues() {
115 if (!window.openDatabase) {
116 alert('To urządzenie nie obsługuje SQLite!');
117 return;
118 }
119 $$('#lista-samochody').html(''); //wyczyszczenie wcześniejszej zawartości
120 db.transaction(function(transaction) {
121 transaction.executeSql('SELECT * FROM User;', [],
122 function(transaction, result) {
123 console.log(result);
124 if (result != null && result.rows != null) {
125 for (var i = 0; i < result.rows.length; i++) {
126 var row = result.rows.item(i);
127 $$('#lista-samochody').append('<br>' + row.UserId + ' ' +row.Marka+ ' ' +row.Model+ ' ' + row.Rok+ ' ' +row.Przebieg+ ' ' +row.Pojemnosc+ ' ');
128 }
129 }
130 },errorHandler);
131 },errorHandler,nullHandler);
132
133 db.transaction(function(transaction) {
134 transaction.executeSql('SELECT * FROM Kierowca;', [],
135 function(transaction, result) {
136 if (result != null && result.rows != null) {
137 console.log(result);
138 for (var i = 0; i < result.rows.length; i++) {
139 var row = result.rows.item(i);
140
141 $$('#lista-kierowcy').append('<br>' + row.KierowcaId + ' ' +row.Imie+ ' ' +row.Nazwisko+ ' ' + row.Pesel+ ' ' +row.Adres+ ' ');
142 }
143 }
144 },errorHandler);
145},errorHandler,nullHandler);
146 return;
147}
148
149$$(document).on("page:init",'.page[data-name="about"]',function(e){
150 $$('#odswiezanie').on('click', () => {
151 console.log("KLIK")
152 ListDBValues();
153
154 });
155
156 $$('#dodawanie').on('click', () => {
157 console.log("KLIK")
158 AddValueToDB();
159 AddDriveValueToDB();
160
161
162 });
163});
164
165function AddValueToDB() {
166 if (!window.openDatabase) {
167 alert('To urządzenie nie obsługuje SQLite!');
168 return;
169 }
170
171 db.transaction(function(transaction) {
172 transaction.executeSql('INSERT INTO User(Marka, Model, Rok, Przebieg, Pojemnosc) VALUES (?,?,?,?,?)',[$$('#Marka').val(),$$('#Model').val(), $$('#Rok').val(),$$('#Przebieg').val(),$$('#Pojemnosc').val()],
173 nullHandler,errorHandler);
174 });
175 ListDBValues();
176 return false;
177}
178
179
180function AddDriveValueToDB() {
181 if (!window.openDatabase) {
182 alert('To urządzenie nie obsługuje SQLite!');
183 return;
184 }
185
186 db.transaction(function(transaction) {
187 transaction.executeSql('INSERT INTO Kierowca(Imie, Nazwisko, Pesel, Adres) VALUES (?,?,?,?)',[$$('#Imie').val(),$$('#Nazwisko').val(), $$('#Pesel').val(),$$('#Adres').val()],
188 nullHandler,errorHandler);
189 });
190 ListDBValues();
191 return false;
192 }