nativescript-zendesk-sdk
Version:
Zendesk SDK for NativeScript
123 lines (122 loc) • 5.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var platform_1 = require("tns-core-modules/platform");
var frame_1 = require("tns-core-modules/ui/frame");
var ArrayList = java.util.ArrayList;
var Locale = java.util.Locale;
var ZendeskConfig = com.zendesk.sdk.network.impl.ZendeskConfig;
var AnonymousIdentity = com.zendesk.sdk.model.access.AnonymousIdentity;
var JwtIdentity = com.zendesk.sdk.model.access.JwtIdentity;
var SupportActivity = com.zendesk.sdk.support.SupportActivity;
var ViewArticleActivity = com.zendesk.sdk.support.ViewArticleActivity;
var SimpleArticle = com.zendesk.sdk.model.helpcenter.SimpleArticle;
var ContactZendeskActivity = com.zendesk.sdk.feedback.ui.ContactZendeskActivity;
var ZendeskFeedbackConfiguration = com.zendesk.sdk.feedback.ZendeskFeedbackConfiguration;
var ZendeskSdk = (function () {
function ZendeskSdk() {
}
ZendeskSdk.initialize = function (config) {
ZendeskConfig.INSTANCE.init(frame_1.topmost().android.activity, config.zendeskUrl, config.applicationId, config.clientId);
if (config.userLocale) {
ZendeskSdk.setUserLocale(config.userLocale);
}
if (config.identity === null) {
ZendeskSdk.setAnonymousIdentity();
}
else if (typeof config.identity === 'object') {
ZendeskSdk.setAnonymousIdentity(config.identity);
}
else if (typeof config.identity === 'string') {
ZendeskSdk.setJwtIdentity(config.identity);
}
return ZendeskSdk;
};
ZendeskSdk.setUserLocale = function (locale) {
ZendeskConfig.INSTANCE.setDeviceLocale(new Locale(locale));
return ZendeskSdk;
};
ZendeskSdk.setAnonymousIdentity = function (anonUserIdentity) {
if (anonUserIdentity === void 0) { anonUserIdentity = {}; }
var anonymousIdentityBuilder = new AnonymousIdentity.Builder();
if (anonUserIdentity.name) {
anonymousIdentityBuilder.withNameIdentifier(anonUserIdentity.name);
}
if (anonUserIdentity.email) {
anonymousIdentityBuilder.withEmailIdentifier(anonUserIdentity.email);
}
ZendeskConfig.INSTANCE.setIdentity(anonymousIdentityBuilder.build());
return ZendeskSdk;
};
ZendeskSdk.setJwtIdentity = function (jwtUserIdentifier) {
ZendeskConfig.INSTANCE.setIdentity(new JwtIdentity(jwtUserIdentifier));
return ZendeskSdk;
};
ZendeskSdk.configureRequests = function (config) {
config.addDeviceInfo = config.addDeviceInfo != null ? config.addDeviceInfo : true;
var tagsArrayList = null;
if (config.tags) {
tagsArrayList = new ArrayList(config.tags.length);
config.tags.forEach(function (value) {
tagsArrayList.add(value);
});
}
ZendeskSdk._zendeskRequestConfiguration = new ZendeskFeedbackConfiguration({
getRequestSubject: function () {
return !!config.requestSubject ? config.requestSubject : null;
},
getAdditionalInfo: function () {
var deviceInfo = config.addDeviceInfo ? '\n\n' + platform_1.device.language + '-' + platform_1.device.region
+ '\n' + platform_1.device.manufacturer + ' ' + platform_1.device.model
+ '\n' + platform_1.device.os + ' ' + platform_1.device.osVersion + '('
+ platform_1.device.sdkVersion + ')' : '';
return !!config.additionalInfo || config.addDeviceInfo
? (!!config.additionalInfo
? '\n\n' + config.additionalInfo
: '') + deviceInfo
: '';
},
getTags: function () {
return tagsArrayList;
},
});
return ZendeskSdk;
};
ZendeskSdk.showHelpCenter = function (options) {
if (options === void 0) { options = {}; }
ZendeskSdk._initHelpCenter(options).show(frame_1.topmost().android.activity);
};
ZendeskSdk.showHelpCenterForCategoryIds = function (categoryIds, options) {
if (options === void 0) { options = {}; }
ZendeskSdk._initHelpCenter(options).withArticlesForCategoryIds(categoryIds).show(frame_1.topmost().android.activity);
};
ZendeskSdk.showHelpCenterForLabelNames = function (labelNames, options) {
if (options === void 0) { options = {}; }
ZendeskSdk._initHelpCenter(options).withLabelNames(labelNames).show(frame_1.topmost().android.activity);
};
ZendeskSdk.showHelpCenterForSectionIds = function (sectionIds, options) {
if (options === void 0) { options = {}; }
ZendeskSdk._initHelpCenter(options).withArticlesForSectionIds(sectionIds).show(frame_1.topmost().android.activity);
};
ZendeskSdk.showArticle = function (articleId) {
ViewArticleActivity.startActivity(frame_1.topmost().android.activity, new SimpleArticle(long(long(articleId)), ''));
};
ZendeskSdk.createRequest = function () {
ContactZendeskActivity.startActivity(frame_1.topmost().android.activity, ZendeskSdk._zendeskRequestConfiguration);
};
ZendeskSdk.setIosTheme = function (theme) { };
ZendeskSdk._initHelpCenter = function (options) {
var supportActivityBuilder = new SupportActivity.Builder()
.withCategoriesCollapsed(options.categoriesCollapsedAndroid != null
? options.categoriesCollapsedAndroid
: false)
.showConversationsMenuButton(options.conversationsMenuAndroid != null
? options.conversationsMenuAndroid
: true);
if (ZendeskSdk._zendeskRequestConfiguration) {
supportActivityBuilder.withContactConfiguration(ZendeskSdk._zendeskRequestConfiguration);
}
return supportActivityBuilder;
};
return ZendeskSdk;
}());
exports.ZendeskSdk = ZendeskSdk;