ngx_core 0.17.0

  • Readme
  • Changelog
  • Example
  • Installing
  • 47

Core Library for AngularDart #

Angular Dart Release License Build

General purpose library for Angular applications, implemented in Dart.

This library is targeted toward the author's applications. You should probably not use it in your own projects.

Documentation #

Development #

License #

Core Library for AngularDart is distributed under the MIT License.

Changelog #

Version 0.17.0

  • Breaking change: all the parameters of the Sort constructor are now optional.
  • Breaking change: renamed the Application.supportsSmoothScroll property to supportsScrollBehavior.
  • Added a session system for managing the user authentication.
  • Added the disableAutoScrolling() and enableAutoScrolling() methods to the Application service.
  • Added the Breakpoints enumeration.
  • Added the DocumentRef.getStyleProperty() method.
  • Added the Downloader service.
  • Added the kebabCase and trimFormControls helper functions.
  • Removed the dependency on the biscuits package.
  • Updated the package dependencies.

Version 0.16.1

  • Fixed the ngxDirectives convenience list.
  • Fixed the ngxPipes convenience list.
  • Fixed the ngxProviders convenience list.

Version 0.16.0

  • Breaking change: directives based on click events prevent the default action of the clicked element.
  • Breaking change: made static the pageParam and pageSizeParam properties of the Pagination class.
  • Breaking change: removed the defaultPageSize, limit and offset properties from the Pagination class.
  • Breaking change: replaced the usage of the SafeValueType enumeration by TemplateSecurityContext.
  • Added the appInjector top-level property.
  • Added the pageCountHeader, pageHeader, pageSizeHeader and totalCountHeader static properties to the Pagination class.
  • Added the autolink pipe.
  • Added the Security service.
  • Added the ValidationError class.
  • Raised the Dart SDK constraint.
  • Updated the documentation.
  • Updated the package dependencies.

Version 0.15.0

  • Breaking change: upgraded AngularDart to version 6.
  • Added the Pagination and Sort classes.
  • Raised the Dart SDK constraint.
  • Updated the package dependencies.

Version 0.14.0

  • Breaking change: renamed the Application.smoothScrollSupported property to supportsSmoothScroll.
  • Breaking change: renamed the GoBack.fallbackPath property to fallbackUrl.
  • Breaking change: renamed the configToken and envToken injection tokens to appConfig and appEnv.
  • Added new unit tests.
  • Added the scrollTo directive.
  • Added the titlecase pipe.
  • Added the ViewportScroller service.
  • Updated the package dependencies.

Version 0.13.0

  • Added the SafePipe class and SafeValueType enumeration.
  • Raised the Dart SDK constraint.
  • Updated the package dependencies.

Version 0.12.0

  • Breaking change: removed the Application.forceSsl property.
  • Breaking change: removed the ConfigToken and EnvToken classes.
  • Breaking change: renamed the ngxModule property to ngxProviders.
  • Restored the ngxDirectives and ngxPipes convenience lists.
  • Updated the package dependencies.
  • Updated the URL of the Git repository.

Version 0.11.0

  • Raised the Dart SDK constraint.
  • Updated the package dependencies.

Version 0.10.0

  • Breaking change: removed the documentFactory() and windowFactory() factories.
  • Breaking change: removed the ngxDirectives and ngxPipes properties.
  • Breaking change: restored the configToken and envTokens injection tokens as children of the OpaqueToken class.
  • Added an example code.
  • Updated the package dependencies.

Version 0.9.0

  • Breaking change: replaced the configToken and envTokens injection tokens by the ConfigToken and EnvToken classes.
  • Breaking change: removed the ngxProviders property.
  • Raised the Dart SDK constraint.
  • Added the Identity interface.
  • Added the Session service.
  • Updated the package dependencies.

Version 0.8.0

  • Added the Application.id property.
  • Raised the Dart SDK constraint.
  • Using optional const and new.
  • Updated the package dependencies.

Version 0.7.0

  • Breaking change: starting to use and support Angular 5.
  • Breaking change: removed the ngx_core.js library.
  • Breaking change: renamed the Configuration.serviceUrl property to apiUrl.
  • Breaking change: renamed the pageTitle directive to documentTitle.
  • Breaking change: renamed the GoBack.fallbackRoute property to fallbackUrl.
  • Added factories and providers for the HtmlDocument and Window classes from dart:html.
  • Added the Application.smoothScrollSupported property.
  • Added the DocumentTitle.appendAppName property.
  • Added the Title service.
  • Updated the package dependencies.

Version 0.6.0

  • Breaking change: starting to use and support the Dart 2 SDK.
  • Breaking change: removed the DocumentRef.nativeDocument property.
  • Breaking change: the global property now maps to the native self object.
  • Added a user guide based on MkDocs.

Version 0.5.0

  • Breaking change: moved the JS-based functions and properties to the ngx_core.js library.
  • Breaking change: removed the configuration and environment properties.
  • Breaking change: removed the JSObject class.
  • Added the deleteProperty() and getProperties() functions.
  • Added new unit tests.
  • The ngx_core.js library exports the functions from the dart:js_util library.
  • Updated the package dependencies.

Version 0.4.0

  • Breaking change: merged the ngx_core.js_interop library into ngx_core.
  • Breaking change: removed the windowFactory factory.
  • Breaking change: renamed the convertToDart() function to dartify().
  • Breaking change: renamed the config property to configuration.
  • Breaking change: replaced the usage of dart:js library by package:js for JavaScript interoperability.
  • Added the JSObject class.
  • Added the global property.
  • Updated the package dependencies.

Version 0.3.0

  • Breaking change: removed the configFactory and envFactory factories.
  • Breaking change: removed the configProvider, envProvider and windowProvider providers.
  • The injection of envToken in Application constructor is now optional.
  • The injection of configToken in Configuration constructor is now optional.
  • The pageTitle directive implements AfterViewInit instead of OnInit, allowing interpolation in element's text content.

Version 0.2.0

  • Breaking change: renamed the module exports by replacing the core prefix with ngx.
  • Added an exportAs metadata to the pageTitle directive.
  • Added the goBack directive.
  • Added new unit tests.

Version 0.1.0 #

  • Initial release.

example/main.dart

// ignore_for_file: avoid_print
import 'package:angular/angular.dart';
import 'package:ngx_core/ngx_core.dart';

// ignore: uri_has_not_been_generated
import 'main.template.dart' as self;

/// The injector factory providing the top-level services.
@GenerateInjector([
  ValueProvider.forToken(appConfig, <String, dynamic>{'name': 'Core Library for AngularDart'}),
  ValueProvider.forToken(appEnv, 'production')
])
final InjectorFactory createInjector = self.createInjector$Injector; // ignore: prefer_const_declarations

/// A component that demonstrates the usage of the [Configuration] service.
@Component(
  providers: [ngxProviders],
  selector: 'configuration-demo',
  template: '<div></div>'
)
class ConfigurationDemoComponent implements OnInit {

  /// Creates a new demo component.
  ConfigurationDemoComponent(this.config);

  /// The configuration service.
  final Configuration config;

  /// Method invoked after the first change detection completed.
  @override
  void ngOnInit() {
    print(config.length); // 1
    print(config.keys); // ["name"]
    print(config['foo']); // null
    print(config['name']); // "Core Library for AngularDart"

    config['foo'] = 'bar';
    print(config.length); // 2
    print(config.keys); // ["name", "foo"]
    print(config['foo']); // "bar"

    config.remove('name');
    print(config.length); // 1
    print(config.keys); // ["foo"]
    print(config['name']); // null

    config.clear();
    print(config.length); // 0
  }
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  ngx_core: ^0.17.0

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:ngx_core/ngx_core.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
0
Health:
Code health derived from static analysis. [more]
89
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
47
Learn more about scoring.

We analyzed this package on Nov 15, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.6.0
  • pana: 0.12.21

Platforms

Detected platforms: web

Primary library: package:ngx_core/ngx_core.dart with components: html, js.

Health suggestions

Fix lib/src/services/application.dart. (-2.48 points)

Analysis of lib/src/services/application.dart reported 5 hints:

line 13 col 5: DO use curly braces for all flow control structures.

line 21 col 5: DO use curly braces for all flow control structures.

line 96 col 9: DO use curly braces for all flow control structures.

line 98 col 9: DO use curly braces for all flow control structures.

line 105 col 7: DO use curly braces for all flow control structures.

Fix lib/src/services/session.dart. (-2.48 points)

Analysis of lib/src/services/session.dart reported 5 hints:

line 91 col 7: DO use curly braces for all flow control structures.

line 123 col 9: DO use curly braces for all flow control structures.

line 125 col 9: DO use curly braces for all flow control structures.

line 130 col 9: DO use curly braces for all flow control structures.

line 175 col 7: DO use curly braces for all flow control structures.

Fix lib/src/directives/scroll_to.dart. (-1.49 points)

Analysis of lib/src/directives/scroll_to.dart reported 3 hints:

line 33 col 7: DO use curly braces for all flow control structures.

line 35 col 7: DO use curly braces for all flow control structures.

line 39 col 7: DO use curly braces for all flow control structures.

Fix additional 7 files with analysis or formatting issues. (-5.49 points)

Additional issues in the following files:

  • lib/src/services/viewport_scroller.dart (3 hints)
  • lib/src/directives/go_back.dart (2 hints)
  • lib/src/services/meta.dart (2 hints)
  • lib/src/directives/document_title.dart (1 hint)
  • lib/src/helpers.dart (1 hint)
  • lib/src/pipes/auto_link_pipe.dart (1 hint)
  • lib/src/services/document_ref.dart (1 hint)

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.5.0 <3.0.0
angular ^6.0.0-alpha+1 6.0.0-alpha+1
angular_forms ^2.1.4 2.1.4
angular_router ^2.0.0-alpha+24 2.0.0-alpha+24
crypto ^2.1.3 2.1.3
rxdart ^0.22.2 0.22.6
Transitive dependencies
analyzer 0.37.1+1 0.39.1
angular_ast 0.5.11
angular_compiler 0.4.5
args 1.5.2
async 2.4.0
build 1.2.2
build_config 0.4.1+1
built_collection 4.3.0
built_value 7.0.0
charcode 1.1.2
checked_yaml 1.0.2
code_builder 3.2.1
collection 1.14.12
convert 2.1.1
csslib 0.16.1
dart_style 1.2.10 1.3.3
fixnum 0.10.11
front_end 0.1.21+1 0.1.29
glob 1.2.0
html 0.14.0+3
intl 0.15.8 0.16.0
js 0.6.1+1
json_annotation 3.0.0
kernel 0.3.21+1 0.3.29
logging 0.11.3+2
matcher 0.12.6
meta 1.1.8
node_interop 1.0.3
node_io 1.0.1+2
package_config 1.1.0
path 1.6.4
pedantic 1.8.0+1
pub_semver 1.4.2
pubspec_parse 0.1.5
quiver 2.1.2+1
source_gen 0.9.4+6
source_span 1.5.5
stack_trace 1.9.3
string_scanner 1.0.5
term_glyph 1.1.0
typed_data 1.1.6
watcher 0.9.7+12
yaml 2.2.0
Dev dependencies
angular_test ^2.4.0
build_runner ^1.6.9
build_test ^0.10.8
build_web_compilers ^2.3.0
grinder ^0.8.3
test ^1.6.9