nativescript-advanced-permissions
    TypeScript icon, indicating that this package has built-in type declarations

    1.2.0 • Public • Published

    nativescript-advanced-permissions

    npm version

    Build Status

    This Plugin is a wrap around Nathanael's nativescript-permissions plugin, while providing IOS Permissions with a matching API.

    Installation

    Describe your plugin installation steps. Ideally it would be something like:

    tns plugin add nativescript-advanced-permissions

    Usage

    Right now to request the Camera Permissions, we use it like this

        
        import { hasCameraPermission, requestCameraPermission } from 'nativescript-advanced-permissions/camera';
     
        // also supports 'nativescript-advanced-permissions/files';
        // also supports 'nativescript-advanced-permissions/calendar';
        // also supports 'nativescript-advanced-permissions/location';
     
     
        if( !hasCameraPermission() ) {
            requestCameraPermission().then((hasPermission) => {
                if( hasPermission ) {
                    // do something cool
                } else {
                    // don't do something
                }
            });
        }
     

    API

    this plugin has been split into smaller 'sub-modules', which when use give access to the specified permissions.

    the sub-modules that we currently include are : files, calendar, location, camera

    and for each sub-module we follow the same naming convention: requestXPermission/hasXPermission where x is the capitalised sub-module name.

    Camera Module

    Usage

        import { hasCameraPermission, requestCameraPermission } from 'nativescript-advanced-permissions/camera';
     
        if( !hasCameraPermission() ) {
            requestCameraPermission().then((hasPermission) => {
                if( hasPermission ) {
                    // do something cool
                } else {
                    // don't do something
                }
            });
        }

    API

    Function Return Type Description
    hasCameraPermission() boolean returns whether or not the application has the permissions to use the camera
    requestCameraPermission() Promise requests the user to allow Camera Permissions, returns a truthy promise if they do, and returns falsy if they don't

    Location Module

    Usage

        import { goToAppSettings } from 'nativescript-advanced-permissions/core';
        import { hasLocationPermission, requestLocationPermission, isLocationEnabled } from 'nativescript-advanced-permissions/location';
     
        if ( isLocationEnabled() ) {
     
            if( !hasCameraPermission() ) {
                requestCameraPermission().then((hasPermission) => {
                    if( hasPermission ) {
                        // do something cool
                    } else {
                        // don't do something
                    }
                });
            }
     
        } else {
            // tell the user to enable Location Services.
            alert('Please Enable Location Settings...').then(() => goToAppSettings());
        }

    API

    Function Return Type Description
    hasLocationPermission() boolean returns whether or not the application has the permissions to use the Location Services
    requestLocationPermission() Promise requests the user to allow Location Permissions, returns a truthy promise if they do, and returns falsy if they don't
    isLocationEnabled() boolean returns whether or not the location services are enabled on device.

    Calendar Module

    Usage

        import { hasCalendarPermission, requestCalendarPermission } from 'nativescript-advanced-permissions/calendar';
            if( !hasCalendarPermission() ) {
                requestCalendarPermission().then((hasPermission) => {
                    if( hasPermission ) {
                        // do something cool
                    } else {
                        // don't do something
                    }
                });
            }

    API

    Function Return Type Description
    hasCalendarPermission() boolean returns whether or not the application has the permissions to use the Calendar
    requestCalendarPermission() Promise requests the user to allow Calendar Permissions, returns a truthy promise if they do, and returns falsy if they don't

    License

    Apache License Version 2.0, January 2004

    Special Thanks!

    Thanks to the genius Nathaniel Anderson for the Android Permissions Plugin, which i make use of in this plugin Nativescript-Permissions

    Install

    npm i nativescript-advanced-permissions

    DownloadsWeekly Downloads

    26

    Version

    1.2.0

    License

    Apache-2.0

    Unpacked Size

    40.9 kB

    Total Files

    37

    Last publish

    Collaborators

    • b.ingham