Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
ng2-timezone-selector
Advanced tools
A simple Angular module to create a timezone selector using moment-timezone
A simple Angular module to create a timezone selector using moment-timezones.
<ng2-timezone-picker [(timezone)]="timezone" guess="true"></ng2-timezone-picker>
Denmark (GTM+01:00)
, usage:
<ng2-timezone-picker [(timezone)]="timezone" showOffset="true"></ng2-timezone-picker>
<ng2-timezone-picker [(timezone)]="timezone" [(country)]="countryIsoCode"></ng2-timezone-picker>
To install this library, run:
$ npm install ng2-timezone-selector --save
The library depent on jQuery and select2 and moment-timezone
The only file required is the select2 select2.min.css
file:
Include the select2.min.css
file in the angular-cli.json
file (remember to re-run ng serve
, after editing angular-cli.json
):
{
"project": {
...
},
"apps": [
{
...
"styles": [
"styles.scss",
"../node_modules/select2/dist/css/select2.min.css"
],
...
}
If the angular project is setup to use *.scss
instead of *.css
, then you can add the following @import
to the default *.scss
file, othen called: styles.scss
:
@import '~select2/dist/css/select2.min.css';
Include the css
resource from a CDN link in the index.html
file:
<head>
...
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
...
</head>
Import the module in app.module.ts
:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
// Import the library
import { TimezonePickerModule } from 'ng2-timezone-selector';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
...,
// Include the library in the imports section
TimezonePickerModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Once the library is imported, you can use the component in your Angular application:
<!-- You can now use the library component
in app.component.html with double-binding: -->
<ng2-timezone-picker
[(timezone)]="user.timezone"
[placeholder]="placeholderString">
</ng2-timezone-picker>
<!-- You can now use the library component in
app.component.html or with single-binding and a change function -->
<ng2-timezone-picker
[timezone]="user.timezone"
(change)="changeTimezone($event)"
placeholder="Select timezone"
showOffset="true"
guess="true">
</ng2-timezone-picker>
// Example of usage in app.component.ts:
user = {};
placeholderString = 'Select timezone';
changeTimezone(timezone) {
this.user.timezone = timezone;
}
You can configure component with the following input attributes:
timezone: string
- Required: must be defined. The timezone string. If you are using the Two-Way Data Binding [(timezone)]="timezoneString"
it will change on selection of timezone.placeholder: string
- Optional: default = ''
. The placeholder string to show when no timezone is selected.disabled: boolean
- Optional: default = false
. Disable the the component.showOffset: boolean
- Optional: default = false
. Condition to show GMT offset in the dropdown.guess: boolean
- Optional: default = false
. If set to true
and if the timezone
parameters is null
or undefined
then guesses the users timezone.country: string
- Optional. The country iso-string (e.g. 'US'
/ 'GB'
/ 'AU'
). If you are using the Two-Way Data Binding e.g.: [(country)]="countryIsoCode"
it will change the timezone to the provided iso-code (if the iso code is valid), and if the timezone is changed it changes the value of countryIsoCode
to the iso of the country.allowClear: boolean
- Optional: default = false
. Enabled you to clear the selection of a timezone.You can configure component with the (change)="changeFunction($event)
or (countryChange)="countryIsoCode = $event
output attributes:
change: function($event)
- Trigger-function when timezone is selected or changed, the $event
parameter is the timezone string.countryChange: function($event: string)
- Trigger-function when timezone is changed, the $event
parameter is the country iso-code.MIT © Samuel Nygaard
FAQs
A simple Angular module to create a timezone selector using moment-timezone
The npm package ng2-timezone-selector receives a total of 322 weekly downloads. As such, ng2-timezone-selector popularity was classified as not popular.
We found that ng2-timezone-selector demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.