Merge branch 'MOE_MAIN-COLOR_CHANGES' into SRCA_DEV_NEW
# Conflicts: # Mohem/GoogleService-Info.plist # Mohem/config.xml # Mohem/google-services.json # Mohem/resources/android/icon/drawable-hdpi-icon.png # Mohem/resources/android/icon/drawable-ldpi-icon.png # Mohem/resources/android/icon/drawable-mdpi-icon.png # Mohem/resources/android/icon/drawable-xhdpi-icon.png # Mohem/resources/android/icon/drawable-xxhdpi-icon.png # Mohem/resources/android/icon/drawable-xxxhdpi-icon.png # Mohem/resources/android/splash/drawable-land-hdpi-screen.png # Mohem/resources/android/splash/drawable-land-ldpi-screen.png # Mohem/resources/android/splash/drawable-land-mdpi-screen.png # Mohem/resources/android/splash/drawable-land-xhdpi-screen.png # Mohem/resources/android/splash/drawable-land-xxhdpi-screen.png # Mohem/resources/android/splash/drawable-land-xxxhdpi-screen.png # Mohem/resources/android/splash/drawable-port-hdpi-screen.png # Mohem/resources/android/splash/drawable-port-ldpi-screen.png # Mohem/resources/android/splash/drawable-port-mdpi-screen.png # Mohem/resources/android/splash/drawable-port-xhdpi-screen.png # Mohem/resources/android/splash/drawable-port-xxhdpi-screen.png # Mohem/resources/android/splash/drawable-port-xxxhdpi-screen.png # Mohem/resources/icon.png # Mohem/resources/splash.png # Mohem/src/app/absence/absence-confirm/absence-confirm.component.scss # Mohem/src/app/absence/home/home.component.html # Mohem/src/app/absence/home/home.component.scss # Mohem/src/app/absence/home/home.component.ts # Mohem/src/app/absence/submit-absence-modal/submit-absence-modal.component.scss # Mohem/src/app/absence/submit-absence/submit-absence.component.scss # Mohem/src/app/absence/view-attachments/view-attachments.component.scss # Mohem/src/app/app.component.html # Mohem/src/app/app.component.scss # Mohem/src/app/attendance/monthly-attendance/monthly-attendance.component.html # Mohem/src/app/attendance/monthly-attendance/monthly-attendance.component.scss # Mohem/src/app/attendance/monthly-attendance/monthly-attendance.component.ts # Mohem/src/app/authentication/confirm-login/confirm-login.component.ts # Mohem/src/app/authentication/login/login.component.scss # Mohem/src/app/eit/add-cei/add-cei.component.scss # Mohem/src/app/eit/add-eit/add-eit.component.scss # Mohem/src/app/eit/cei-homepage/cei-homepage.component.html # Mohem/src/app/eit/cei-list/cei-list.component.html # Mohem/src/app/eit/cei-list/cei-list.component.scss # Mohem/src/app/eit/confirm-add-cei/confirm-add-cei.component.scss # Mohem/src/app/eit/confirm-add-eit/confirm-add-eit.component.scss # Mohem/src/app/eit/eit-list/eit-list.component.html # Mohem/src/app/eit/eit-list/eit-list.component.scss # Mohem/src/app/eit/eit-list/eit-list.component.ts # Mohem/src/app/eit/eit-update-list/eit-update-list.component.html # Mohem/src/app/eit/eit-update-list/eit-update-list.component.scss # Mohem/src/app/eit/home/home.component.scss # Mohem/src/app/eit/submit-eit-modal/submit-eit-modal.component.scss # Mohem/src/app/hmg-common/services/connector/connector.service.ts # Mohem/src/app/hmg-common/ui/card-calendar/card-calendar.component.html # Mohem/src/app/hmg-common/ui/circle-calendar/circle-calendar.component.scss # Mohem/src/app/hmg-common/ui/circle-calendar/date-info-modal/date-info-modal.component.scss # Mohem/src/app/hmg-common/ui/circle-calendar/date-info-modal/date-info-modal.component.ts # Mohem/src/app/hmg-common/ui/file-uploder-profile/file-uploder-profile.component.scss # Mohem/src/app/hmg-common/ui/generic-header/generic-header.component.scss # Mohem/src/app/hmg-common/ui/nav-buttons/nav-buttons.component.scss # Mohem/src/app/hmg-common/ui/stats-button/stats-button.component.scss # Mohem/src/app/home/home.page.scss # Mohem/src/app/home/home.page.ts # Mohem/src/app/mowadhafi/hr-request-form/hr-request-form.component.scss # Mohem/src/app/mowadhafi/hr-request/hr-request.component.scss # Mohem/src/app/mowadhafi/request-details/request-details.component.scss # Mohem/src/app/my-team/details/details.component.scss # Mohem/src/app/my-team/details/details.component.ts # Mohem/src/app/my-team/home/home.component.scss # Mohem/src/app/my-team/home/home.component.ts # Mohem/src/app/my-team/subordinate-leave/subordinate-leave.component.scss # Mohem/src/app/notification/home/home.component.html # Mohem/src/app/notification/home/home.component.scss # Mohem/src/app/notification/work-list-attach-view/work-list-attach-view.component.scss # Mohem/src/app/notification/work-list-replacement-itg/work-list-replacement-itg.component.html # Mohem/src/app/notification/work-list-replacement-itg/work-list-replacement-itg.component.scss # Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.html # Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.scss # Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.scss # Mohem/src/app/notification/worklist-main-ic/worklist-main-ic.component.scss # Mohem/src/app/notification/worklist-main-mr/worklist-main-mr.component.scss # Mohem/src/app/notification/worklist-main-po/worklist-main-po.component.scss # Mohem/src/app/notification/worklist-main-pr/worklist-main-pr.component.scss # Mohem/src/app/notification/worklist-main/worklist-main.component.html # Mohem/src/app/notification/worklist-main/worklist-main.component.scss # Mohem/src/app/notification/worklist-setting/worklist-setting.component.scss # Mohem/src/app/payslip/home/home.component.scss # Mohem/src/app/payslip/home/home.component.ts # Mohem/src/app/profile/add-address/add-address.component.scss # Mohem/src/app/profile/add-basic-details/add-basic-details.component.scss # Mohem/src/app/profile/confirm-address/confirm-address.component.scss # Mohem/src/app/profile/confirm-basic-details/confirm-basic-details.component.scss # Mohem/src/app/profile/confirm-contact/confirm-contact.component.scss # Mohem/src/app/profile/contact/contact.component.html # Mohem/src/app/profile/edit-profile/edit-profile.component.scss # Mohem/src/app/profile/home/home.component.html # Mohem/src/app/profile/home/home.component.scss # Mohem/src/app/profile/home/home.component.ts # Mohem/src/app/profile/modal/edit-detail-profile/edit-detail-profile.component.html # Mohem/src/app/profile/modal/edit-detail-profile/edit-detail-profile.component.ts # Mohem/src/app/profile/performance-evaluation/performance-evaluation.component.scss # Mohem/src/app/profile/performance-evaluation/performance-evaluation.component.ts # Mohem/src/app/profile/profile-image/profile-image.component.scss # Mohem/src/app/profile/submit-eit-modal/submit-address-modal.component.scss # Mohem/src/app/termination/confirm-termination/confirm-termination.component.scss # Mohem/src/app/time-card/time-card-details/time-card-details.component.scss # Mohem/src/app/time-card/time-card-details/time-card-details.component.ts # Mohem/src/assets/imgs/profile-icons/basic-detail@21.svg # Mohem/src/assets/imgs/profile-icons/info-a@2x.svg # Mohem/src/assets/imgs/profile-icons/main address-a@2x.svg # Mohem/src/assets/localization/i18n.json # Mohem/src/theme/styles.scss # Mohem/src/theme/variables.scssSRCA_DEV_NEW
commit
7862926f11
@ -1,17 +0,0 @@
|
||||
{
|
||||
"name": "com.huawei.cordovahmsgmscheckplugin",
|
||||
"version": "1.0.0",
|
||||
"description": "Account Check Kit 4.0",
|
||||
"cordova": {
|
||||
"id": "com.huawei.cordovahmsgmscheckplugin",
|
||||
"platforms": [
|
||||
"android"
|
||||
]
|
||||
},
|
||||
"keywords": [
|
||||
"ecosystem:cordova",
|
||||
"cordova-android"
|
||||
],
|
||||
"author": "",
|
||||
"license": "ISC"
|
||||
}
|
||||
@ -1,29 +0,0 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<plugin id="com.huawei.cordovahmsgmscheckplugin" version="1.0.0" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<name>CordovaHMSGMSCheckPlugin</name>
|
||||
<js-module name="CordovaHMSGMSCheckPlugin" src="www/CordovaHMSGMSCheckPlugin.js">
|
||||
<clobbers target="cordova.plugins.CordovaHMSGMSCheckPlugin" />
|
||||
</js-module>
|
||||
<platform name="android">
|
||||
<!-- hook for add maven repositories and agc plugin-->
|
||||
<hook src="scripts/android/after_plugin_install.js" type="after_plugin_install" />
|
||||
<hook src="scripts/android/before_plugin_uninstall.js" type="before_plugin_uninstall" />
|
||||
|
||||
<framework custom="true" src="src/android/build.gradle" type="gradleReference" />
|
||||
<!-- Account Kit dependency-->
|
||||
<framework src="com.huawei.hms:base:5.0.4.301" />
|
||||
<!-- <framework src="com.google.android.gms:play-services-base:17.2.1" /> -->
|
||||
|
||||
<config-file parent="/*" target="res/xml/config.xml">
|
||||
<feature name="CordovaHMSGMSCheckPlugin">
|
||||
<param name="android-package"
|
||||
value="com.huawei.cordovahmsgmscheckplugin.CordovaHMSGMSCheckPlugin" />
|
||||
</feature>
|
||||
</config-file>
|
||||
<config-file parent="/*" target="AndroidManifest.xml"></config-file>
|
||||
<source-file src="src/android/CordovaHMSGMSCheckPlugin.java"
|
||||
target-dir="src/com/huawei/cordovahmsgmscheckplugin" />
|
||||
</platform>
|
||||
<!-- Script help to copy agconnect-services.json to right places-->
|
||||
<hook src="scripts/after_prepare.js" type="after_prepare" />
|
||||
</plugin>
|
||||
@ -1,37 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* This hook makes sure projects using [cordova-plugin-firebase](https://github.com/arnesson/cordova-plugin-firebase)
|
||||
* will build properly and have the required key files copied to the proper destinations when the app is build on Ionic Cloud using the package command.
|
||||
* Credits: https://github.com/arnesson.
|
||||
*/
|
||||
var fs = require("fs");
|
||||
var path = require("path");
|
||||
var utilities = require("./lib/utilities");
|
||||
|
||||
var config = fs.readFileSync("config.xml").toString();
|
||||
var name = utilities.getValue(config, "name");
|
||||
|
||||
var ANDROID_DIR = "platforms/android";
|
||||
|
||||
var PLATFORM = {
|
||||
ANDROID: {
|
||||
dest: [ANDROID_DIR + "/app/agconnect-services.json"],
|
||||
src: ["agconnect-services.json"],
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = function (context) {
|
||||
//get platform from the context supplied by cordova
|
||||
var platforms = context.opts.platforms;
|
||||
// Copy key files to their platform specific folders
|
||||
if (
|
||||
platforms.indexOf("android") !== -1 &&
|
||||
utilities.directoryExists(ANDROID_DIR)
|
||||
) {
|
||||
console.log("Preparing HMS GMS Check Kit on Android");
|
||||
// utilities.copyKey(PLATFORM.ANDROID);
|
||||
}
|
||||
};
|
||||
@ -1,9 +0,0 @@
|
||||
var helper = require('./helper');
|
||||
|
||||
module.exports = function(context) {
|
||||
|
||||
// Modify the Gradle build file to add a task that will upload the debug symbols
|
||||
// at build time.
|
||||
helper.restoreRootBuildGradle();
|
||||
helper.modifyRootBuildGradle();
|
||||
};
|
||||
@ -1,7 +0,0 @@
|
||||
var helper = require('./helper');
|
||||
|
||||
module.exports = function(context) {
|
||||
|
||||
// Remove the Gradle modifications that were added when the plugin was installed.
|
||||
helper.restoreRootBuildGradle();
|
||||
};
|
||||
@ -1,131 +0,0 @@
|
||||
var fs = require("fs");
|
||||
var path = require("path");
|
||||
|
||||
function rootBuildGradleExists() {
|
||||
var target = path.join("platforms", "android", "build.gradle");
|
||||
return fs.existsSync(target);
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper function to read the build.gradle that sits at the root of the project
|
||||
*/
|
||||
function readRootBuildGradle() {
|
||||
var target = path.join("platforms", "android", "build.gradle");
|
||||
return fs.readFileSync(target, "utf-8");
|
||||
}
|
||||
|
||||
/*
|
||||
* Added a dependency on 'com.google.gms' based on the position of the know 'com.android.tools.build' dependency in the build.gradle
|
||||
*/
|
||||
function addDependencies(buildGradle) {
|
||||
// find the known line to match
|
||||
var match = buildGradle.match(
|
||||
/^(\s*)classpath 'com.android.tools.build(.*)/m
|
||||
);
|
||||
var whitespace = match[1];
|
||||
|
||||
// modify the line to add the necessary dependencies
|
||||
var agcDependency =
|
||||
whitespace + "classpath 'com.huawei.agconnect:agcp:1.2.0.300'";
|
||||
|
||||
var modifiedLine = match[0] + "\n" + agcDependency;
|
||||
|
||||
// modify the actual line
|
||||
return buildGradle.replace(
|
||||
/^(\s*)classpath 'com.android.tools.build(.*)/m,
|
||||
modifiedLine
|
||||
);
|
||||
}
|
||||
|
||||
/*
|
||||
* Add 'google()' and Crashlytics to the repository repo list
|
||||
*/
|
||||
function addRepos(buildGradle) {
|
||||
// find the known line to match
|
||||
var match = buildGradle.match(/^(\s*)jcenter\(\)/m);
|
||||
var whitespace = match[1];
|
||||
|
||||
// modify the line to add the necessary repo
|
||||
var huaweiMavenRepo =
|
||||
whitespace + "maven { url 'http://developer.huawei.com/repo/' }";
|
||||
var modifiedLine = match[0] + "\n" + huaweiMavenRepo;
|
||||
|
||||
// modify the actual line
|
||||
buildGradle = buildGradle.replace(/^(\s*)jcenter\(\)/m, modifiedLine);
|
||||
|
||||
// update the all projects grouping
|
||||
var allProjectsIndex = buildGradle.indexOf("allprojects");
|
||||
if (allProjectsIndex > 0) {
|
||||
// split the string on allprojects because jcenter is in both groups and we need to modify the 2nd instance
|
||||
var firstHalfOfFile = buildGradle.substring(0, allProjectsIndex);
|
||||
var secondHalfOfFile = buildGradle.substring(allProjectsIndex);
|
||||
|
||||
// Add google() to the allprojects section of the string
|
||||
match = secondHalfOfFile.match(/^(\s*)jcenter\(\)/m);
|
||||
var huaweiMavenRepo =
|
||||
whitespace + "maven { url 'http://developer.huawei.com/repo/' }";
|
||||
modifiedLine = match[0] + "\n" + huaweiMavenRepo;
|
||||
// modify the part of the string that is after 'allprojects'
|
||||
secondHalfOfFile = secondHalfOfFile.replace(
|
||||
/^(\s*)jcenter\(\)/m,
|
||||
modifiedLine
|
||||
);
|
||||
|
||||
// recombine the modified line
|
||||
buildGradle = firstHalfOfFile + secondHalfOfFile;
|
||||
} else {
|
||||
// this should not happen, but if it does, we should try to add the dependency to the buildscript
|
||||
match = buildGradle.match(/^(\s*)jcenter\(\)/m);
|
||||
var huaweiMavenRepo =
|
||||
whitespace + "maven { url 'http://developer.huawei.com/repo/' }";
|
||||
modifiedLine = match[0] + "\n" + huaweiMavenRepo;
|
||||
// modify the part of the string that is after 'allprojects'
|
||||
buildGradle = buildGradle.replace(/^(\s*)jcenter\(\)/m, modifiedLine);
|
||||
}
|
||||
|
||||
return buildGradle;
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper function to write to the build.gradle that sits at the root of the project
|
||||
*/
|
||||
function writeRootBuildGradle(contents) {
|
||||
var target = path.join("platforms", "android", "build.gradle");
|
||||
fs.writeFileSync(target, contents);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
modifyRootBuildGradle: function () {
|
||||
// be defensive and don't crash if the file doesn't exist
|
||||
if (!rootBuildGradleExists) {
|
||||
return;
|
||||
}
|
||||
|
||||
var buildGradle = readRootBuildGradle();
|
||||
|
||||
// Add Google Play Services Dependency
|
||||
buildGradle = addDependencies(buildGradle);
|
||||
|
||||
// Add Google's Maven Repo
|
||||
buildGradle = addRepos(buildGradle);
|
||||
|
||||
writeRootBuildGradle(buildGradle);
|
||||
},
|
||||
|
||||
restoreRootBuildGradle: function () {
|
||||
// be defensive and don't crash if the file doesn't exist
|
||||
if (!rootBuildGradleExists) {
|
||||
return;
|
||||
}
|
||||
|
||||
var buildGradle = readRootBuildGradle();
|
||||
|
||||
// remove any lines we added
|
||||
buildGradle = buildGradle.replace(
|
||||
/(?:^|\r?\n)(.*)com.huawei.cordovahmsgmscheckplugin*?(?=$|\r?\n)/g,
|
||||
""
|
||||
);
|
||||
|
||||
writeRootBuildGradle(buildGradle);
|
||||
},
|
||||
};
|
||||
@ -1,93 +0,0 @@
|
||||
/**
|
||||
* Utilities and shared functionality for the build hooks.
|
||||
*/
|
||||
var fs = require("fs");
|
||||
var path = require("path");
|
||||
|
||||
fs.ensureDirSync = function (dir) {
|
||||
if (!fs.existsSync(dir)) {
|
||||
dir.split(path.sep).reduce(function (currentPath, folder) {
|
||||
currentPath += folder + path.sep;
|
||||
if (!fs.existsSync(currentPath)) {
|
||||
fs.mkdirSync(currentPath);
|
||||
}
|
||||
return currentPath;
|
||||
}, "");
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
/**
|
||||
* Used to get the name of the application as defined in the config.xml.
|
||||
*
|
||||
* @param {object} context - The Cordova context.
|
||||
* @returns {string} The value of the name element in config.xml.
|
||||
*/
|
||||
getAppName: function (context) {
|
||||
var ConfigParser = context.requireCordovaModule("cordova-lib").configparser;
|
||||
var config = new ConfigParser("config.xml");
|
||||
return config.name();
|
||||
},
|
||||
|
||||
/**
|
||||
* The ID of the plugin; this should match the ID in plugin.xml.
|
||||
*/
|
||||
getPluginId: function () {
|
||||
return "com.huawei.cordovahmsgmscheckplugin";
|
||||
},
|
||||
|
||||
copyKey: function (platform) {
|
||||
for (var i = 0; i < platform.src.length; i++) {
|
||||
var file = platform.src[i];
|
||||
if (this.fileExists(file)) {
|
||||
try {
|
||||
var contents = fs.readFileSync(file).toString();
|
||||
|
||||
try {
|
||||
platform.dest.forEach(function (destinationPath) {
|
||||
var folder = destinationPath.substring(
|
||||
0,
|
||||
destinationPath.lastIndexOf("/")
|
||||
);
|
||||
fs.ensureDirSync(folder);
|
||||
fs.writeFileSync(destinationPath, contents);
|
||||
});
|
||||
} catch (e) {
|
||||
// skip
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
getValue: function (config, name) {
|
||||
var value = config.match(
|
||||
new RegExp("<" + name + "(.*?)>(.*?)</" + name + ">", "i")
|
||||
);
|
||||
if (value && value[2]) {
|
||||
return value[2];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
},
|
||||
|
||||
fileExists: function (path) {
|
||||
try {
|
||||
return fs.statSync(path).isFile();
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
directoryExists: function (path) {
|
||||
try {
|
||||
return fs.statSync(path).isDirectory();
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
};
|
||||
@ -1,88 +0,0 @@
|
||||
package com.huawei.cordovahmsgmscheckplugin;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
|
||||
import com.huawei.hms.api.HuaweiApiAvailability;
|
||||
// import com.google.android.gms.common.GoogleApiAvailability;
|
||||
|
||||
import org.apache.cordova.CordovaInterface;
|
||||
import org.apache.cordova.CordovaInterfaceImpl;
|
||||
import org.apache.cordova.CordovaPlugin;
|
||||
import org.apache.cordova.CallbackContext;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
/**
|
||||
* This class echoes a string called from JavaScript.
|
||||
*/
|
||||
public class CordovaHMSGMSCheckPlugin extends CordovaPlugin {
|
||||
|
||||
private static final String TAG = CordovaHMSGMSCheckPlugin.class.getSimpleName();
|
||||
private CallbackContext mCallbackContext;
|
||||
|
||||
@Override
|
||||
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
|
||||
switch (action) {
|
||||
case "isHmsAvailable":
|
||||
mCallbackContext = callbackContext;
|
||||
cordova.getThreadPool().execute(this::isHmsAvailable);
|
||||
return true;
|
||||
case "isGmsAvailable":
|
||||
// mCallbackContext = callbackContext;
|
||||
// cordova.getThreadPool().execute(this::isGmsAvailable);
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void isHmsAvailable() {
|
||||
boolean isAvailable = false;
|
||||
Context context = cordova.getContext();
|
||||
if (null != cordova.getContext()) {
|
||||
int result = HuaweiApiAvailability.getInstance().isHuaweiMobileServicesAvailable(context);
|
||||
isAvailable = (com.huawei.hms.api.ConnectionResult.SUCCESS == result);
|
||||
}
|
||||
Log.i("Cordova", "isHmsAvailable: " + isAvailable);
|
||||
String msg = "false";
|
||||
if(isAvailable){
|
||||
msg = "true";
|
||||
}
|
||||
outputCallbackContext(0, msg);
|
||||
}
|
||||
|
||||
// private void isGmsAvailable() {
|
||||
// boolean isAvailable = false;
|
||||
// Context context = cordova.getContext();
|
||||
// if (null != context) {
|
||||
// int result = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(context);
|
||||
// isAvailable = (com.google.android.gms.common.ConnectionResult.SUCCESS == result);
|
||||
// }
|
||||
// Log.i("Cordova", "isGmsAvailable: " + isAvailable);
|
||||
// String msg = "false";
|
||||
// if(isAvailable){
|
||||
// msg = "true";
|
||||
// }
|
||||
// outputCallbackContext(0, msg);
|
||||
// }
|
||||
|
||||
/**
|
||||
* @param type 0-success,1-error
|
||||
* @param msg message
|
||||
*/
|
||||
private void outputCallbackContext(int type, String msg) {
|
||||
if (mCallbackContext != null) {
|
||||
switch (type) {
|
||||
case 0:
|
||||
mCallbackContext.success(msg);
|
||||
break;
|
||||
case 1:
|
||||
mCallbackContext.error(msg);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,29 +0,0 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
buildscript {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
// huawei maven
|
||||
maven { url 'http://developer.huawei.com/repo/' }
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.2.0'
|
||||
// classpath 'com.huawei.agconnect:agcp:1.2.0.300'
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
// huawei maven
|
||||
maven { url 'http://developer.huawei.com/repo/' }
|
||||
}
|
||||
}
|
||||
|
||||
cdvPluginPostBuildExtras.add({
|
||||
apply plugin: 'com.huawei.agconnect'
|
||||
})
|
||||
@ -1,17 +0,0 @@
|
||||
{
|
||||
"name": "com.huawei.cordovahmslocationplugin",
|
||||
"version": "1.0.0",
|
||||
"description": "Location Service",
|
||||
"cordova": {
|
||||
"id": "com.huawei.cordovahmslocationplugin",
|
||||
"platforms": [
|
||||
"android"
|
||||
]
|
||||
},
|
||||
"keywords": [
|
||||
"ecosystem:cordova",
|
||||
"cordova-android"
|
||||
],
|
||||
"author": "",
|
||||
"license": "ISC"
|
||||
}
|
||||
@ -1,29 +0,0 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<plugin xmlns:android="http://schemas.android.com/apk/res/android" id="com.huawei.cordovahmslocationplugin"
|
||||
version="1.0.0"
|
||||
xmlns="http://apache.org/cordova/ns/plugins/1.0">
|
||||
<name>CordovaHMSLocationPlugin</name>
|
||||
<js-module name="CordovaHMSLocationPlugin" src="www/CordovaHMSLocationPlugin.js">
|
||||
<clobbers target="cordova.plugins.CordovaHMSLocationPlugin" />
|
||||
</js-module>
|
||||
<platform name="android">
|
||||
<!-- hook for add maven repositories and agc plugin-->
|
||||
<hook src="scripts/android/after_plugin_install.js" type="after_plugin_install" />
|
||||
<hook src="scripts/android/before_plugin_uninstall.js" type="before_plugin_uninstall" />
|
||||
|
||||
<framework custom="true" src="src/android/build.gradle" type="gradleReference" />
|
||||
<!-- Location Kit dependency-->
|
||||
<framework src="com.huawei.hms:location:4.0.0.300" />
|
||||
<config-file parent="/*" target="res/xml/config.xml">
|
||||
<feature name="CordovaHMSLocationPlugin">
|
||||
<param name="android-package"
|
||||
value="com.huawei.cordovahmslocationplugin.CordovaHMSLocationPlugin" />
|
||||
</feature>
|
||||
</config-file>
|
||||
<config-file parent="/*" target="AndroidManifest.xml"></config-file>
|
||||
<source-file src="src/android/CordovaHMSLocationPlugin.java"
|
||||
target-dir="src/com/huawei/cordovahmslocationplugin" />
|
||||
</platform>
|
||||
<!-- Script help to copy agconnect-services.json to right places-->
|
||||
<hook src="scripts/after_prepare.js" type="after_prepare" />
|
||||
</plugin>
|
||||
@ -1,38 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* This hook makes sure projects using [cordova-plugin-firebase](https://github.com/arnesson/cordova-plugin-firebase)
|
||||
* will build properly and have the required key files copied to the proper destinations when the app is build on Ionic Cloud using the package command.
|
||||
* Credits: https://github.com/arnesson.
|
||||
*/
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
var utilities = require("./lib/utilities");
|
||||
|
||||
var config = fs.readFileSync('config.xml').toString();
|
||||
var name = utilities.getValue(config, 'name');
|
||||
|
||||
var ANDROID_DIR = 'platforms/android';
|
||||
|
||||
var PLATFORM = {
|
||||
ANDROID: {
|
||||
dest: [
|
||||
ANDROID_DIR + '/app/agconnect-services.json'
|
||||
],
|
||||
src: [
|
||||
'agconnect-services.json'
|
||||
],
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = function (context) {
|
||||
//get platform from the context supplied by cordova
|
||||
var platforms = context.opts.platforms;
|
||||
// Copy key files to their platform specific folders
|
||||
if (platforms.indexOf('android') !== -1 && utilities.directoryExists(ANDROID_DIR)) {
|
||||
console.log('Preparing HMS Location Kit on Android');
|
||||
utilities.copyKey(PLATFORM.ANDROID);
|
||||
}
|
||||
};
|
||||
@ -1,9 +0,0 @@
|
||||
var helper = require('./helper');
|
||||
|
||||
module.exports = function(context) {
|
||||
|
||||
// Modify the Gradle build file to add a task that will upload the debug symbols
|
||||
// at build time.
|
||||
helper.restoreRootBuildGradle();
|
||||
helper.modifyRootBuildGradle();
|
||||
};
|
||||
@ -1,7 +0,0 @@
|
||||
var helper = require('./helper');
|
||||
|
||||
module.exports = function(context) {
|
||||
|
||||
// Remove the Gradle modifications that were added when the plugin was installed.
|
||||
helper.restoreRootBuildGradle();
|
||||
};
|
||||
@ -1,117 +0,0 @@
|
||||
var fs = require("fs");
|
||||
var path = require("path");
|
||||
|
||||
function rootBuildGradleExists() {
|
||||
var target = path.join("platforms", "android", "build.gradle");
|
||||
return fs.existsSync(target);
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper function to read the build.gradle that sits at the root of the project
|
||||
*/
|
||||
function readRootBuildGradle() {
|
||||
var target = path.join("platforms", "android", "build.gradle");
|
||||
return fs.readFileSync(target, "utf-8");
|
||||
}
|
||||
|
||||
/*
|
||||
* Added a dependency on 'com.google.gms' based on the position of the know 'com.android.tools.build' dependency in the build.gradle
|
||||
*/
|
||||
function addDependencies(buildGradle) {
|
||||
// find the known line to match
|
||||
var match = buildGradle.match(/^(\s*)classpath 'com.android.tools.build(.*)/m);
|
||||
var whitespace = match[1];
|
||||
|
||||
// modify the line to add the necessary dependencies
|
||||
var agcDependency = whitespace + 'classpath \'com.huawei.agconnect:agcp:1.2.0.300\''
|
||||
|
||||
var modifiedLine = match[0] + '\n' + agcDependency;
|
||||
|
||||
// modify the actual line
|
||||
return buildGradle.replace(/^(\s*)classpath 'com.android.tools.build(.*)/m, modifiedLine);
|
||||
}
|
||||
|
||||
/*
|
||||
* Add 'google()' and Crashlytics to the repository repo list
|
||||
*/
|
||||
function addRepos(buildGradle) {
|
||||
// find the known line to match
|
||||
var match = buildGradle.match(/^(\s*)jcenter\(\)/m);
|
||||
var whitespace = match[1];
|
||||
|
||||
// modify the line to add the necessary repo
|
||||
var huaweiMavenRepo = whitespace + 'maven { url \'http://developer.huawei.com/repo/\' }'
|
||||
var modifiedLine = match[0] + '\n' + huaweiMavenRepo;
|
||||
|
||||
// modify the actual line
|
||||
buildGradle = buildGradle.replace(/^(\s*)jcenter\(\)/m, modifiedLine);
|
||||
|
||||
// update the all projects grouping
|
||||
var allProjectsIndex = buildGradle.indexOf('allprojects');
|
||||
if (allProjectsIndex > 0) {
|
||||
// split the string on allprojects because jcenter is in both groups and we need to modify the 2nd instance
|
||||
var firstHalfOfFile = buildGradle.substring(0, allProjectsIndex);
|
||||
var secondHalfOfFile = buildGradle.substring(allProjectsIndex);
|
||||
|
||||
// Add google() to the allprojects section of the string
|
||||
match = secondHalfOfFile.match(/^(\s*)jcenter\(\)/m);
|
||||
var huaweiMavenRepo = whitespace + 'maven { url \'http://developer.huawei.com/repo/\' }'
|
||||
modifiedLine = match[0] + '\n' + huaweiMavenRepo;
|
||||
// modify the part of the string that is after 'allprojects'
|
||||
secondHalfOfFile = secondHalfOfFile.replace(/^(\s*)jcenter\(\)/m, modifiedLine);
|
||||
|
||||
// recombine the modified line
|
||||
buildGradle = firstHalfOfFile + secondHalfOfFile;
|
||||
} else {
|
||||
// this should not happen, but if it does, we should try to add the dependency to the buildscript
|
||||
match = buildGradle.match(/^(\s*)jcenter\(\)/m);
|
||||
var huaweiMavenRepo = whitespace + 'maven { url \'http://developer.huawei.com/repo/\' }'
|
||||
modifiedLine = match[0] + '\n' + huaweiMavenRepo;
|
||||
// modify the part of the string that is after 'allprojects'
|
||||
buildGradle = buildGradle.replace(/^(\s*)jcenter\(\)/m, modifiedLine);
|
||||
}
|
||||
|
||||
return buildGradle;
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper function to write to the build.gradle that sits at the root of the project
|
||||
*/
|
||||
function writeRootBuildGradle(contents) {
|
||||
var target = path.join("platforms", "android", "build.gradle");
|
||||
fs.writeFileSync(target, contents);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
||||
modifyRootBuildGradle: function() {
|
||||
// be defensive and don't crash if the file doesn't exist
|
||||
if (!rootBuildGradleExists) {
|
||||
return;
|
||||
}
|
||||
|
||||
var buildGradle = readRootBuildGradle();
|
||||
|
||||
// Add Google Play Services Dependency
|
||||
buildGradle = addDependencies(buildGradle);
|
||||
|
||||
// Add Google's Maven Repo
|
||||
buildGradle = addRepos(buildGradle);
|
||||
|
||||
writeRootBuildGradle(buildGradle);
|
||||
},
|
||||
|
||||
restoreRootBuildGradle: function() {
|
||||
// be defensive and don't crash if the file doesn't exist
|
||||
if (!rootBuildGradleExists) {
|
||||
return;
|
||||
}
|
||||
|
||||
var buildGradle = readRootBuildGradle();
|
||||
|
||||
// remove any lines we added
|
||||
buildGradle = buildGradle.replace(/(?:^|\r?\n)(.*)com.huawei.cordovahmspushplugin*?(?=$|\r?\n)/g, '');
|
||||
|
||||
writeRootBuildGradle(buildGradle);
|
||||
}
|
||||
};
|
||||
@ -1,88 +0,0 @@
|
||||
/**
|
||||
* Utilities and shared functionality for the build hooks.
|
||||
*/
|
||||
var fs = require('fs');
|
||||
var path = require("path");
|
||||
|
||||
fs.ensureDirSync = function (dir) {
|
||||
if (!fs.existsSync(dir)) {
|
||||
dir.split(path.sep).reduce(function (currentPath, folder) {
|
||||
currentPath += folder + path.sep;
|
||||
if (!fs.existsSync(currentPath)) {
|
||||
fs.mkdirSync(currentPath);
|
||||
}
|
||||
return currentPath;
|
||||
}, '');
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
/**
|
||||
* Used to get the name of the application as defined in the config.xml.
|
||||
*
|
||||
* @param {object} context - The Cordova context.
|
||||
* @returns {string} The value of the name element in config.xml.
|
||||
*/
|
||||
getAppName: function (context) {
|
||||
var ConfigParser = context.requireCordovaModule("cordova-lib").configparser;
|
||||
var config = new ConfigParser("config.xml");
|
||||
return config.name();
|
||||
},
|
||||
|
||||
/**
|
||||
* The ID of the plugin; this should match the ID in plugin.xml.
|
||||
*/
|
||||
getPluginId: function () {
|
||||
return "com.huawei.cordovahmspushplugin";
|
||||
},
|
||||
|
||||
copyKey: function (platform) {
|
||||
for (var i = 0; i < platform.src.length; i++) {
|
||||
var file = platform.src[i];
|
||||
if (this.fileExists(file)) {
|
||||
try {
|
||||
var contents = fs.readFileSync(file).toString();
|
||||
|
||||
try {
|
||||
platform.dest.forEach(function (destinationPath) {
|
||||
var folder = destinationPath.substring(0, destinationPath.lastIndexOf('/'));
|
||||
fs.ensureDirSync(folder);
|
||||
fs.writeFileSync(destinationPath, contents);
|
||||
});
|
||||
} catch (e) {
|
||||
// skip
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
getValue: function (config, name) {
|
||||
var value = config.match(new RegExp('<' + name + '(.*?)>(.*?)</' + name + '>', 'i'));
|
||||
if (value && value[2]) {
|
||||
return value[2]
|
||||
} else {
|
||||
return null
|
||||
}
|
||||
},
|
||||
|
||||
fileExists: function (path) {
|
||||
try {
|
||||
return fs.statSync(path).isFile();
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
directoryExists: function (path) {
|
||||
try {
|
||||
return fs.statSync(path).isDirectory();
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -1,29 +0,0 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
buildscript {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
// huawei maven
|
||||
maven { url 'http://developer.huawei.com/repo/' }
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.2.0'
|
||||
classpath 'com.huawei.agconnect:agcp:1.2.0.300'
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
// huawei maven
|
||||
maven { url 'http://developer.huawei.com/repo/' }
|
||||
}
|
||||
}
|
||||
|
||||
cdvPluginPostBuildExtras.add({
|
||||
apply plugin: 'com.huawei.agconnect'
|
||||
})
|
||||
@ -1,21 +0,0 @@
|
||||
{
|
||||
"name": "cordovahmspushplugin",
|
||||
"version": "1.0.0",
|
||||
"description": "For Hms Push",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "test",
|
||||
"license": "ISC",
|
||||
"cordova": {
|
||||
"id": "com.huawei.cordovahmspushplugin",
|
||||
"platforms": [
|
||||
"android"
|
||||
]
|
||||
},
|
||||
"keywords": [
|
||||
"ecosystem:cordova",
|
||||
"cordova-android"
|
||||
]
|
||||
}
|
||||
@ -1,38 +0,0 @@
|
||||
<?xml version='1.0' encoding='utf-8'?><!-- Plugin Id and Version-->
|
||||
<plugin xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
id="com.huawei.cordovahmspushplugin" version="1.0.0"
|
||||
xmlns="http://apache.org/cordova/ns/plugins/1.0">
|
||||
<js-module name="CordovaHMSPushPlugin" src="www/CordovaHMSPushPlugin.js">
|
||||
<clobbers target="cordova.plugins.CordovaHMSPushPlugin" />
|
||||
</js-module>
|
||||
<!-- Plugin Name -->
|
||||
<name>CordovaHMSPushPlugin</name>
|
||||
<platform name="android">
|
||||
<!-- hook for add maven repositories and agc plugin-->
|
||||
<hook src="scripts/android/after_plugin_install.js" type="after_plugin_install" />
|
||||
<hook src="scripts/android/before_plugin_uninstall.js" type="before_plugin_uninstall" />
|
||||
|
||||
<framework custom="true" src="src/android/build.gradle" type="gradleReference" />
|
||||
<!-- Push Kit dependency-->
|
||||
<framework src="com.huawei.hms:push:4.0.0.300" />
|
||||
<config-file parent="/*" target="res/xml/config.xml">
|
||||
<feature name="CordovaHMSPushPlugin">
|
||||
<param name="android-package"
|
||||
value="com.huawei.cordovahmspushplugin.CordovaHMSPushPlugin" />
|
||||
</feature>
|
||||
</config-file>
|
||||
<config-file parent="/manifest/application" target="AndroidManifest.xml">
|
||||
<service android:exported="false" android:name="com.huawei.cordovahmspushplugin.MessageService">
|
||||
<intent-filter>
|
||||
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
</config-file>
|
||||
<source-file src="src/android/CordovaHMSPushPlugin.java"
|
||||
target-dir="src/com/huawei/cordovahmspushplugin" />
|
||||
<source-file src="src/android/MessageService.java"
|
||||
target-dir="src/com/huawei/cordovahmspushplugin" />
|
||||
</platform>
|
||||
<!-- Script help to copy agconnect-services.json to right places-->
|
||||
<hook src="scripts/after_prepare.js" type="after_prepare" />
|
||||
</plugin>
|
||||
@ -1,38 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* This hook makes sure projects using [cordova-plugin-firebase](https://github.com/arnesson/cordova-plugin-firebase)
|
||||
* will build properly and have the required key files copied to the proper destinations when the app is build on Ionic Cloud using the package command.
|
||||
* Credits: https://github.com/arnesson.
|
||||
*/
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
var utilities = require("./lib/utilities");
|
||||
|
||||
var config = fs.readFileSync('config.xml').toString();
|
||||
var name = utilities.getValue(config, 'name');
|
||||
|
||||
var ANDROID_DIR = 'platforms/android';
|
||||
|
||||
var PLATFORM = {
|
||||
ANDROID: {
|
||||
dest: [
|
||||
ANDROID_DIR + '/app/agconnect-services.json'
|
||||
],
|
||||
src: [
|
||||
'agconnect-services.json'
|
||||
],
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = function (context) {
|
||||
//get platform from the context supplied by cordova
|
||||
var platforms = context.opts.platforms;
|
||||
// Copy key files to their platform specific folders
|
||||
if (platforms.indexOf('android') !== -1 && utilities.directoryExists(ANDROID_DIR)) {
|
||||
console.log('Preparing HMS Push Kit on Android');
|
||||
utilities.copyKey(PLATFORM.ANDROID);
|
||||
}
|
||||
};
|
||||
@ -1,9 +0,0 @@
|
||||
var helper = require('./helper');
|
||||
|
||||
module.exports = function(context) {
|
||||
|
||||
// Modify the Gradle build file to add a task that will upload the debug symbols
|
||||
// at build time.
|
||||
helper.restoreRootBuildGradle();
|
||||
helper.modifyRootBuildGradle();
|
||||
};
|
||||
@ -1,7 +0,0 @@
|
||||
var helper = require('./helper');
|
||||
|
||||
module.exports = function(context) {
|
||||
|
||||
// Remove the Gradle modifications that were added when the plugin was installed.
|
||||
helper.restoreRootBuildGradle();
|
||||
};
|
||||
@ -1,117 +0,0 @@
|
||||
var fs = require("fs");
|
||||
var path = require("path");
|
||||
|
||||
function rootBuildGradleExists() {
|
||||
var target = path.join("platforms", "android", "build.gradle");
|
||||
return fs.existsSync(target);
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper function to read the build.gradle that sits at the root of the project
|
||||
*/
|
||||
function readRootBuildGradle() {
|
||||
var target = path.join("platforms", "android", "build.gradle");
|
||||
return fs.readFileSync(target, "utf-8");
|
||||
}
|
||||
|
||||
/*
|
||||
* Added a dependency on 'com.google.gms' based on the position of the know 'com.android.tools.build' dependency in the build.gradle
|
||||
*/
|
||||
function addDependencies(buildGradle) {
|
||||
// find the known line to match
|
||||
var match = buildGradle.match(/^(\s*)classpath 'com.android.tools.build(.*)/m);
|
||||
var whitespace = match[1];
|
||||
|
||||
// modify the line to add the necessary dependencies
|
||||
var agcDependency = whitespace + 'classpath \'com.huawei.agconnect:agcp:1.2.0.300\''
|
||||
|
||||
var modifiedLine = match[0] + '\n' + agcDependency;
|
||||
|
||||
// modify the actual line
|
||||
return buildGradle.replace(/^(\s*)classpath 'com.android.tools.build(.*)/m, modifiedLine);
|
||||
}
|
||||
|
||||
/*
|
||||
* Add 'google()' and Crashlytics to the repository repo list
|
||||
*/
|
||||
function addRepos(buildGradle) {
|
||||
// find the known line to match
|
||||
var match = buildGradle.match(/^(\s*)jcenter\(\)/m);
|
||||
var whitespace = match[1];
|
||||
|
||||
// modify the line to add the necessary repo
|
||||
var huaweiMavenRepo = whitespace + 'maven { url \'http://developer.huawei.com/repo/\' }'
|
||||
var modifiedLine = match[0] + '\n' + huaweiMavenRepo;
|
||||
|
||||
// modify the actual line
|
||||
buildGradle = buildGradle.replace(/^(\s*)jcenter\(\)/m, modifiedLine);
|
||||
|
||||
// update the all projects grouping
|
||||
var allProjectsIndex = buildGradle.indexOf('allprojects');
|
||||
if (allProjectsIndex > 0) {
|
||||
// split the string on allprojects because jcenter is in both groups and we need to modify the 2nd instance
|
||||
var firstHalfOfFile = buildGradle.substring(0, allProjectsIndex);
|
||||
var secondHalfOfFile = buildGradle.substring(allProjectsIndex);
|
||||
|
||||
// Add google() to the allprojects section of the string
|
||||
match = secondHalfOfFile.match(/^(\s*)jcenter\(\)/m);
|
||||
var huaweiMavenRepo = whitespace + 'maven { url \'http://developer.huawei.com/repo/\' }'
|
||||
modifiedLine = match[0] + '\n' + huaweiMavenRepo;
|
||||
// modify the part of the string that is after 'allprojects'
|
||||
secondHalfOfFile = secondHalfOfFile.replace(/^(\s*)jcenter\(\)/m, modifiedLine);
|
||||
|
||||
// recombine the modified line
|
||||
buildGradle = firstHalfOfFile + secondHalfOfFile;
|
||||
} else {
|
||||
// this should not happen, but if it does, we should try to add the dependency to the buildscript
|
||||
match = buildGradle.match(/^(\s*)jcenter\(\)/m);
|
||||
var huaweiMavenRepo = whitespace + 'maven { url \'http://developer.huawei.com/repo/\' }'
|
||||
modifiedLine = match[0] + '\n' + huaweiMavenRepo;
|
||||
// modify the part of the string that is after 'allprojects'
|
||||
buildGradle = buildGradle.replace(/^(\s*)jcenter\(\)/m, modifiedLine);
|
||||
}
|
||||
|
||||
return buildGradle;
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper function to write to the build.gradle that sits at the root of the project
|
||||
*/
|
||||
function writeRootBuildGradle(contents) {
|
||||
var target = path.join("platforms", "android", "build.gradle");
|
||||
fs.writeFileSync(target, contents);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
||||
modifyRootBuildGradle: function() {
|
||||
// be defensive and don't crash if the file doesn't exist
|
||||
if (!rootBuildGradleExists) {
|
||||
return;
|
||||
}
|
||||
|
||||
var buildGradle = readRootBuildGradle();
|
||||
|
||||
// Add Google Play Services Dependency
|
||||
buildGradle = addDependencies(buildGradle);
|
||||
|
||||
// Add Google's Maven Repo
|
||||
buildGradle = addRepos(buildGradle);
|
||||
|
||||
writeRootBuildGradle(buildGradle);
|
||||
},
|
||||
|
||||
restoreRootBuildGradle: function() {
|
||||
// be defensive and don't crash if the file doesn't exist
|
||||
if (!rootBuildGradleExists) {
|
||||
return;
|
||||
}
|
||||
|
||||
var buildGradle = readRootBuildGradle();
|
||||
|
||||
// remove any lines we added
|
||||
buildGradle = buildGradle.replace(/(?:^|\r?\n)(.*)com.huawei.cordovahmspushplugin*?(?=$|\r?\n)/g, '');
|
||||
|
||||
writeRootBuildGradle(buildGradle);
|
||||
}
|
||||
};
|
||||
@ -1,88 +0,0 @@
|
||||
/**
|
||||
* Utilities and shared functionality for the build hooks.
|
||||
*/
|
||||
var fs = require('fs');
|
||||
var path = require("path");
|
||||
|
||||
fs.ensureDirSync = function (dir) {
|
||||
if (!fs.existsSync(dir)) {
|
||||
dir.split(path.sep).reduce(function (currentPath, folder) {
|
||||
currentPath += folder + path.sep;
|
||||
if (!fs.existsSync(currentPath)) {
|
||||
fs.mkdirSync(currentPath);
|
||||
}
|
||||
return currentPath;
|
||||
}, '');
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
/**
|
||||
* Used to get the name of the application as defined in the config.xml.
|
||||
*
|
||||
* @param {object} context - The Cordova context.
|
||||
* @returns {string} The value of the name element in config.xml.
|
||||
*/
|
||||
getAppName: function (context) {
|
||||
var ConfigParser = context.requireCordovaModule("cordova-lib").configparser;
|
||||
var config = new ConfigParser("config.xml");
|
||||
return config.name();
|
||||
},
|
||||
|
||||
/**
|
||||
* The ID of the plugin; this should match the ID in plugin.xml.
|
||||
*/
|
||||
getPluginId: function () {
|
||||
return "com.huawei.cordovahmspushplugin";
|
||||
},
|
||||
|
||||
copyKey: function (platform) {
|
||||
for (var i = 0; i < platform.src.length; i++) {
|
||||
var file = platform.src[i];
|
||||
if (this.fileExists(file)) {
|
||||
try {
|
||||
var contents = fs.readFileSync(file).toString();
|
||||
|
||||
try {
|
||||
platform.dest.forEach(function (destinationPath) {
|
||||
var folder = destinationPath.substring(0, destinationPath.lastIndexOf('/'));
|
||||
fs.ensureDirSync(folder);
|
||||
fs.writeFileSync(destinationPath, contents);
|
||||
});
|
||||
} catch (e) {
|
||||
// skip
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
getValue: function (config, name) {
|
||||
var value = config.match(new RegExp('<' + name + '(.*?)>(.*?)</' + name + '>', 'i'));
|
||||
if (value && value[2]) {
|
||||
return value[2]
|
||||
} else {
|
||||
return null
|
||||
}
|
||||
},
|
||||
|
||||
fileExists: function (path) {
|
||||
try {
|
||||
return fs.statSync(path).isFile();
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
directoryExists: function (path) {
|
||||
try {
|
||||
return fs.statSync(path).isDirectory();
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -1,112 +0,0 @@
|
||||
package com.huawei.cordovahmspushplugin;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.huawei.agconnect.config.AGConnectServicesConfig;
|
||||
import com.huawei.hms.aaid.HmsInstanceId;
|
||||
import com.huawei.hms.push.HmsMessaging;
|
||||
import com.huawei.hmf.tasks.OnCompleteListener;
|
||||
import com.huawei.hmf.tasks.Task;
|
||||
|
||||
import org.apache.cordova.CallbackContext;
|
||||
import org.apache.cordova.CordovaPlugin;
|
||||
import org.apache.cordova.PluginResult;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
|
||||
/**
|
||||
* This class echoes a string called from JavaScript.
|
||||
*/
|
||||
public class CordovaHMSPushPlugin extends CordovaPlugin {
|
||||
|
||||
private static final String TAG = CordovaHMSPushPlugin.class.getSimpleName();
|
||||
|
||||
private static CallbackContext mCallbackContext;
|
||||
private static CallbackContext mTokenCallback;
|
||||
|
||||
@Override
|
||||
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) {
|
||||
switch (action) {
|
||||
case "getToken":
|
||||
this.getToken(callbackContext);
|
||||
return true;
|
||||
case "getMessageCallback":
|
||||
Log.d(TAG, "getMessageCallback");
|
||||
mCallbackContext = callbackContext;
|
||||
return true;
|
||||
case "subscribeTopic":
|
||||
Log.d(TAG, "subscribeTopic");
|
||||
try {
|
||||
String topic = args.getString(0);
|
||||
this.subscribeTopic(topic, callbackContext);
|
||||
} catch (JSONException e) {
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static void returnMessage(String message) {
|
||||
if (mCallbackContext != null) {
|
||||
Log.d(TAG, "returnMessage");
|
||||
PluginResult result = new PluginResult(PluginResult.Status.OK, message);
|
||||
result.setKeepCallback(true);
|
||||
mCallbackContext.sendPluginResult(result);
|
||||
}
|
||||
}
|
||||
|
||||
public static void returnToken(String token) {
|
||||
if (mTokenCallback != null) {
|
||||
mTokenCallback.success(token);
|
||||
mTokenCallback = null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get push token
|
||||
*/
|
||||
private void getToken(CallbackContext callbackContext) {
|
||||
Log.i(TAG, "get token: begin");
|
||||
|
||||
try {
|
||||
String appId = AGConnectServicesConfig.fromContext(cordova.getContext()).getString("client/app_id");
|
||||
String pushToken = HmsInstanceId.getInstance(cordova.getContext()).getToken(appId, "HCM");
|
||||
if (!TextUtils.isEmpty(pushToken)) {
|
||||
Log.i(TAG, "get token:" + pushToken);
|
||||
callbackContext.success(pushToken);
|
||||
}else {
|
||||
mTokenCallback = callbackContext;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "getToken Failed, " + e);
|
||||
callbackContext.error("getToken Failed, error : " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public void subscribeTopic(String topic, final CallbackContext callBack) {
|
||||
// callBack.success("user subscribe to topic named as: "+ topic);
|
||||
if (topic == null || topic.toString().equals("")) {
|
||||
callBack.error("topic is empty!");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
HmsMessaging.getInstance(cordova.getContext()).subscribe(topic).
|
||||
addOnCompleteListener(new OnCompleteListener<Void>() {
|
||||
@Override
|
||||
public void onComplete(Task<Void> task) {
|
||||
if (task.isSuccessful()) {
|
||||
callBack.success("user subscribe to topic: "+ topic);
|
||||
} else {
|
||||
callBack.error("getToken Failed, error : " + task.getException().getMessage());
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (Exception e) {
|
||||
callBack.error("getToken Failed, error : " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,32 +0,0 @@
|
||||
package com.huawei.cordovahmspushplugin;
|
||||
|
||||
import com.huawei.cordovahmspushplugin.CordovaHMSPushPlugin;
|
||||
import com.huawei.hms.push.HmsMessageService;
|
||||
import com.huawei.hms.push.RemoteMessage;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
public class MessageService extends HmsMessageService {
|
||||
|
||||
private static final String TAG = MessageService.class.getSimpleName();
|
||||
|
||||
@Override
|
||||
public void onMessageReceived(RemoteMessage remoteMessage) {
|
||||
super.onMessageReceived(remoteMessage);
|
||||
Log.d(TAG, "onMessageReceived");
|
||||
if (remoteMessage != null) {
|
||||
String message = remoteMessage.getData();
|
||||
Log.d(TAG, message);
|
||||
CordovaHMSPushPlugin.returnMessage(message);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNewToken(String s) {
|
||||
super.onNewToken(s);
|
||||
if (s != null) {
|
||||
Log.d(TAG, "token:" + s);
|
||||
CordovaHMSPushPlugin.returnToken(s);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,29 +0,0 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
buildscript {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
// huawei maven
|
||||
maven { url 'http://developer.huawei.com/repo/' }
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.2.0'
|
||||
classpath 'com.huawei.agconnect:agcp:1.2.0.300'
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
// huawei maven
|
||||
maven { url 'http://developer.huawei.com/repo/' }
|
||||
}
|
||||
}
|
||||
|
||||
cdvPluginPostBuildExtras.add({
|
||||
apply plugin: 'com.huawei.agconnect'
|
||||
})
|
||||
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<network-security-config>
|
||||
<domain-config cleartextTrafficPermitted="true">
|
||||
<domain-config cleartextTrafficPermitted="false">
|
||||
<domain includeSubdomains="true">localhost</domain>
|
||||
<domain includeSubdomains="true">hmg.com</domain>
|
||||
<domain includeSubdomains="true">hrmsys.moenergy.gov.sa</domain>
|
||||
</domain-config>
|
||||
</network-security-config>
|
||||
@ -1,3 +1,3 @@
|
||||
.header-toolbar-new {
|
||||
--background: #BE332F;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,19 +1,25 @@
|
||||
.addEitOkButton {
|
||||
white-space: normal !important;
|
||||
text-transform: capitalize !important;
|
||||
min-height: 45px !important;
|
||||
min-width: 5px !important;
|
||||
margin: 8px !important;
|
||||
background-color: #BE332F;
|
||||
width: 80% !important;
|
||||
color: white !important;
|
||||
border-radius: 16px !important;
|
||||
--border-radius: 16px !important;
|
||||
--box-shadow: none;
|
||||
}
|
||||
.addEitOkButton{
|
||||
white-space: normal !important;
|
||||
text-transform: capitalize !important;
|
||||
min-height: 45px !important;
|
||||
min-width: 5px !important;
|
||||
margin: 8px !important;
|
||||
background-color: #BE332F;
|
||||
width: 80% !important;
|
||||
color: white!important;
|
||||
border-radius: 16px !important;
|
||||
}
|
||||
|
||||
.editIconDiv {
|
||||
right: 10px;
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
}
|
||||
.editIconDiv{
|
||||
right: 10px;
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
}
|
||||
|
||||
.editIconDiv-ar{
|
||||
left: 10px;
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1,64 +1,64 @@
|
||||
import { ThemeableBrowserOptions } from '@ionic-native/themeable-browser/ngx';
|
||||
// import { ThemeableBrowserOptions } from '@ionic-native/themeable-browser/ngx';
|
||||
|
||||
export class BrowserConfig {
|
||||
public static OPTIONS: ThemeableBrowserOptions = {
|
||||
statusbar: {
|
||||
color: '#ffffffff'
|
||||
},
|
||||
toolbar: {
|
||||
height: 44,
|
||||
color: '#f0f0f0ff'
|
||||
},
|
||||
title: {
|
||||
color: '#003264ff',
|
||||
showPageTitle: true
|
||||
},
|
||||
backButton: {
|
||||
image: 'back',
|
||||
imagePressed: 'back_pressed',
|
||||
align: 'left',
|
||||
event: 'backPressed'
|
||||
},
|
||||
forwardButton: {
|
||||
image: 'forward',
|
||||
imagePressed: 'forward_pressed',
|
||||
align: 'left',
|
||||
event: 'forwardPressed'
|
||||
},
|
||||
closeButton: {
|
||||
image: 'close',
|
||||
imagePressed: 'close_pressed',
|
||||
align: 'left',
|
||||
event: 'closePressed'
|
||||
},
|
||||
customButtons: [
|
||||
{
|
||||
image: 'share',
|
||||
imagePressed: 'share_pressed',
|
||||
align: 'right',
|
||||
event: 'sharePressed'
|
||||
}
|
||||
],
|
||||
menu: {
|
||||
image: 'menu',
|
||||
imagePressed: 'menu_pressed',
|
||||
title: 'Test',
|
||||
cancel: 'Cancel',
|
||||
align: 'right',
|
||||
items: [
|
||||
{
|
||||
event: 'helloPressed',
|
||||
label: 'Hello World!'
|
||||
},
|
||||
{
|
||||
event: 'testPressed',
|
||||
label: 'Test!'
|
||||
}
|
||||
]
|
||||
},
|
||||
backButtonCanClose: true,
|
||||
clearcache: true,
|
||||
clearsessioncache: true,
|
||||
disallowoverscroll: 'yes'
|
||||
};
|
||||
// public static OPTIONS: ThemeableBrowserOptions = {
|
||||
// statusbar: {
|
||||
// color: '#ffffffff'
|
||||
// },
|
||||
// toolbar: {
|
||||
// height: 44,
|
||||
// color: '#f0f0f0ff'
|
||||
// },
|
||||
// title: {
|
||||
// color: '#003264ff',
|
||||
// showPageTitle: true
|
||||
// },
|
||||
// backButton: {
|
||||
// image: 'back',
|
||||
// imagePressed: 'back_pressed',
|
||||
// align: 'left',
|
||||
// event: 'backPressed'
|
||||
// },
|
||||
// forwardButton: {
|
||||
// image: 'forward',
|
||||
// imagePressed: 'forward_pressed',
|
||||
// align: 'left',
|
||||
// event: 'forwardPressed'
|
||||
// },
|
||||
// closeButton: {
|
||||
// image: 'close',
|
||||
// imagePressed: 'close_pressed',
|
||||
// align: 'left',
|
||||
// event: 'closePressed'
|
||||
// },
|
||||
// customButtons: [
|
||||
// {
|
||||
// image: 'share',
|
||||
// imagePressed: 'share_pressed',
|
||||
// align: 'right',
|
||||
// event: 'sharePressed'
|
||||
// }
|
||||
// ],
|
||||
// menu: {
|
||||
// image: 'menu',
|
||||
// imagePressed: 'menu_pressed',
|
||||
// title: 'Test',
|
||||
// cancel: 'Cancel',
|
||||
// align: 'right',
|
||||
// items: [
|
||||
// {
|
||||
// event: 'helloPressed',
|
||||
// label: 'Hello World!'
|
||||
// },
|
||||
// {
|
||||
// event: 'testPressed',
|
||||
// label: 'Test!'
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// backButtonCanClose: true,
|
||||
// clearcache: true,
|
||||
// clearsessioncache: true,
|
||||
// disallowoverscroll: 'yes'
|
||||
// };
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<div class="main-container" [ngStyle]="active === true ? {'background': color} : {}">
|
||||
<div class="main-container-radius" [ngStyle]="active === true ? {'background-color': '#ffffff'} : {'background-color': color}"></div>
|
||||
<span *ngIf="text != 'All'" class="number-span" [ngStyle]="active === true ? {'color': '#ffffff'} : {}">{{value}}</span>
|
||||
<span class="text-span" [ngStyle]="active === true ? {'color': '#ffffff'} : {}">{{text}}</span>
|
||||
<span class="text-span text-span-moe" [ngStyle]="active === true ? {'color': '#ffffff'} : {}">{{text}}</span>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@ -1,186 +1,122 @@
|
||||
.team-member-container{
|
||||
// background: white;
|
||||
// border-radius: 100px 20px 20px 100px;
|
||||
// margin-top: 15px;
|
||||
// font-family: WorkSans-Regular;
|
||||
// border: 1px solid #ccc;
|
||||
// border-radius: 15px;
|
||||
// padding-bottom: 8px;
|
||||
.team-member-container {
|
||||
|
||||
background: white;
|
||||
/* margin-top: 2px; */
|
||||
font-family: WorkSans-Regular;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 15px;
|
||||
padding-bottom: 8px;
|
||||
margin-bottom: 7px;
|
||||
padding-bottom: 5px;
|
||||
margin-bottom: 15px;
|
||||
box-shadow: 0px 1px 5px #cdcdcd;
|
||||
}
|
||||
|
||||
// .user-image-container{
|
||||
// position: relative;
|
||||
// width: 70px;
|
||||
// height: 70px;
|
||||
// display: block;
|
||||
// margin: 0 auto;
|
||||
// &:before{
|
||||
// position: absolute;
|
||||
// content: "";
|
||||
// width: 20px;
|
||||
// height: 20px;
|
||||
// border-radius: 20px;
|
||||
// border: 1px solid white;
|
||||
// top: 0;
|
||||
// right: 0;
|
||||
// background-color: red;
|
||||
// z-index: 9;
|
||||
// }
|
||||
// &.present:before{
|
||||
// background-color: green !important;
|
||||
// }
|
||||
// }
|
||||
.user-image{
|
||||
// overflow: hidden;
|
||||
// position: relative;
|
||||
// display: block;
|
||||
// width: 100%;
|
||||
// height: 100%;
|
||||
// border-radius: 80px;
|
||||
// border: 1px solid #ccc;
|
||||
// margin: 0px auto 6px;
|
||||
.user-image {
|
||||
|
||||
img {
|
||||
// width: 100%;
|
||||
// max-height: 100%;
|
||||
width: 74%;
|
||||
max-height: 74%;
|
||||
margin-top: 4px;
|
||||
margin-left: 6px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
|
||||
border-radius: 30px;
|
||||
margin: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.employee-name{
|
||||
.employee-name {
|
||||
display: inline-block;
|
||||
width: 80%;
|
||||
.name{
|
||||
// font-size: 16px;
|
||||
// color: black;
|
||||
// // margin: 0;
|
||||
// width: 100%;
|
||||
// text-overflow: ellipsis;
|
||||
// white-space: nowrap;
|
||||
// overflow: hidden;
|
||||
// margin-left: -10px;
|
||||
// margin-top: -5px;
|
||||
// font-family: 'WorkSans-Bold';
|
||||
font-size: 16px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
margin-left: -10px;
|
||||
margin-top: -5px;
|
||||
text-align: left;
|
||||
font-family: var(--fontFamilyPoppins-SemiBold, inherit);
|
||||
line-height: 25px;
|
||||
letter-spacing: -0.64px;
|
||||
color: #2B353E;
|
||||
opacity: 1;
|
||||
|
||||
.name {
|
||||
|
||||
font-size: 16px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
margin-left: -10px;
|
||||
margin-top: -5px;
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
line-height: 25px;
|
||||
letter-spacing: -0.64px;
|
||||
color: #2B353E;
|
||||
opacity: 1;
|
||||
font-family: 'Inter' !important;
|
||||
}
|
||||
|
||||
.title{
|
||||
// font-size: 13px;
|
||||
// color: #888;
|
||||
// width: 100%;
|
||||
// text-overflow: ellipsis;
|
||||
// white-space: nowrap;
|
||||
// overflow: hidden;
|
||||
// display: block;
|
||||
// margin-left: -10px;
|
||||
// margin-top: -6px;
|
||||
// color: black;
|
||||
font-family: var(--fontFamilyPoppins-SemiBold, inherit);
|
||||
line-height: 12px;
|
||||
letter-spacing: -0.56px;
|
||||
color: #575757;
|
||||
opacity: 1;
|
||||
font-size: 14px;
|
||||
width: 100%;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
margin-left: -10px;
|
||||
margin-top: -10px;
|
||||
|
||||
.title {
|
||||
|
||||
font-family: 'Inter' !important;
|
||||
line-height: 12px;
|
||||
letter-spacing: -0.56px;
|
||||
color: #575757;
|
||||
opacity: 1;
|
||||
font-size: 14px;
|
||||
width: 100%;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
// overflow: hidden;
|
||||
display: block;
|
||||
margin-left: -10px;
|
||||
margin-top: -10px;
|
||||
}
|
||||
}
|
||||
|
||||
.employee-name-ar{
|
||||
.employee-name-ar {
|
||||
display: inline-block;
|
||||
width: 80%;
|
||||
.name{
|
||||
// font-size: 16px;
|
||||
// color: black;
|
||||
// // margin: 0;
|
||||
// width: 100%;
|
||||
// text-overflow: ellipsis;
|
||||
// white-space: nowrap;
|
||||
// overflow: hidden;
|
||||
// margin-left: -10px;
|
||||
// margin-top: -5px;
|
||||
// font-family: 'WorkSans-Bold';
|
||||
font-size: 16px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
margin-left: -10px;
|
||||
margin-top: -5px;
|
||||
text-align: right;
|
||||
font-family: var(--fontFamilyPoppins-SemiBold, inherit);
|
||||
line-height: 25px;
|
||||
letter-spacing: -0.64px;
|
||||
color: #2B353E;
|
||||
opacity: 1;
|
||||
|
||||
.name {
|
||||
font-size: 16px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
margin-left: -10px;
|
||||
margin-top: -5px;
|
||||
text-align: right;
|
||||
font-family: 'Inter' !important;
|
||||
line-height: 25px;
|
||||
letter-spacing: -0.64px;
|
||||
color: #2B353E;
|
||||
opacity: 1;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.title{
|
||||
// font-size: 13px;
|
||||
// color: #888;
|
||||
// width: 100%;
|
||||
// text-overflow: ellipsis;
|
||||
// white-space: nowrap;
|
||||
// overflow: hidden;
|
||||
// display: block;
|
||||
// margin-left: -10px;
|
||||
// margin-top: -6px;
|
||||
// color: black;
|
||||
font-family: var(--fontFamilyPoppins-SemiBold, inherit);
|
||||
line-height: 12px;
|
||||
letter-spacing: -0.56px;
|
||||
color: #575757;
|
||||
opacity: 1;
|
||||
font-size: 14px;
|
||||
width: 100%;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
margin-left: -10px;
|
||||
margin-top: -10px;
|
||||
|
||||
.title {
|
||||
|
||||
font-family: 'Inter' !important;
|
||||
line-height: 12px;
|
||||
letter-spacing: -0.56px;
|
||||
color: #575757;
|
||||
opacity: 1;
|
||||
font-size: 14px;
|
||||
width: 100%;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
// overflow: hidden;
|
||||
display: block;
|
||||
margin-left: -10px;
|
||||
margin-top: -10px;
|
||||
}
|
||||
}
|
||||
.image-container{
|
||||
|
||||
.image-container {
|
||||
width: 20%;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
vertical-align: top;
|
||||
margin-top: 5px;
|
||||
position: relative;
|
||||
top: 12px;
|
||||
}
|
||||
.swipe-information{
|
||||
|
||||
.swipe-information {
|
||||
color: #888;
|
||||
font-size: 12px;
|
||||
border-top: 1px solid #ccc;
|
||||
padding-top: 6px;
|
||||
margin-top: 6px;
|
||||
|
||||
.check-in {
|
||||
font-size: 12px;
|
||||
margin-right: 15px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue