DECLARE @sql nvarchar(1024) DECLARE @column_name varchar(200) DECLARE @table_name varchar(200) DECLARE @sp_out varchar(2048) DECLARE @x int create table #tmp(sp_out varchar(2048), table_name varchar(255), column_name varchar(2048), id uniqueidentifier) DECLARE tn_cursor CURSOR FOR SELECT TABLE_NAME FROM INFORMATION_SCHEMA.tables open tn_cursor FETCH NEXT FROM tn_cursor INTO @table_name WHILE @@FETCH_STATUS = 0 BEGIN print @table_name DECLARE cn_cursor CURSOR FOR SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME = @table_name open cn_cursor FETCH NEXT FROM cn_cursor INTO @column_name WHILE @@FETCH_STATUS = 0 BEGIN FETCH NEXT FROM cn_cursor INTO @column_name --print @column_name set @sql = N'insert into #tmp SELECT TOP (1000) ' + @column_name + ', ''' + @table_name + ''', ''' + @column_name + ''', Id' + N' FROM [dbo].[' + @table_name + N']' + N' WHERE ' + @column_name + N' like ''%? % ?%''' --print @sql exec sp_executesql @sql END CLOSE cn_cursor; DEALLOCATE cn_cursor; FETCH NEXT FROM tn_cursor INTO @table_name END CLOSE tn_cursor; DEALLOCATE tn_cursor; select * from #tmp drop table #tmpThis query will look for all fields in the DB with the contents with pattern '%? % %?' that matches Angularized values. An Angularized value is generated by AngularJs when autogenerated values are made when the contents of a drop down does not match the HTML.
Monday, 12 August 2019
Searching for 'Angularized values' in MS Sql Server DB
The following query can be used to look for 'Angularized values' in MS Sql Server DB.
Wednesday, 7 August 2019
Font Awesome 5 in Angular 8
Font Awesome 5 in Angular 8 based app! Here is how I did it, I first import the Font awesome packages into the app module:
import { fas } from '@fortawesome/free-solid-svg-icons'; import { far } from '@fortawesome/free-regular-svg-icons'; import { fab } from '@fortawesome/free-brands-svg-icons'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; import { library } from '@fortawesome/fontawesome-svg-core'; Importing the FontAwesomeModule also into the imports section.Add the following in to your constructor of app module:
constructor(){ library.add(fab, far, fas); }Now you can reference the Font Awesome icons from inside any component like in this markup example:
<div class="crop" (click)="onClick()" [style.width.px]="starWidth" [title]="rating"> <div style="width: 75px"> <span><fa-icon [icon]="['far', 'star']"></fa-icon></span> <span><fa-icon [icon]="['far', 'star']"></fa-icon></span> <span><fa-icon [icon]="['far', 'star']"></fa-icon></span> <span><fa-icon [icon]="['far', 'star']"></fa-icon></span> <span><fa-icon [icon]="['far', 'star']"></fa-icon></span> </div> </div>Note that if you do not use the solid icons from the 'fas' library, you must specify the type of Font Awesome icon library, such as 'far' for the regular icons. I ended up with using the following npm packages: "@fortawesome/angular-fontawesome": "^0.3.0", "@fortawesome/fontawesome-svg-core": "^1.2.21", "@fortawesome/free-brands-svg-icons": "^5.10.1", "@fortawesome/free-regular-svg-icons": "^5.10.1", "@fortawesome/free-solid-svg-icons": "^5.10.1", Note: I did a downgrade to version 0.3.0 of the angular-fontawesome package. Tested out in Angular 8. Note that adding the entire library is not suggested in most cases, as this will increase the bundle size Webpack builds up. Instead, add the necessary icons one by one. However, in a development period, it is neat to have all the (Free) icons from Font Awesome readily available until it is production/deploying time! Happy Angular 8 coding! Example of a shared module you can set up to import in Angular 8 supporting Font Awesome five is below:
import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { StarComponent } from "src/app/shared/star.component"; import { FormsModule } from "@angular/forms"; import { fas } from '@fortawesome/free-solid-svg-icons'; import { far } from '@fortawesome/free-regular-svg-icons'; import { fab } from '@fortawesome/free-brands-svg-icons'; import { library } from '@fortawesome/fontawesome-svg-core'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; @NgModule({ declarations: [ StarComponent ], imports: [ CommonModule, FontAwesomeModule ], exports: [ StarComponent, CommonModule, FormsModule, FontAwesomeModule, ] }) export class SharedModule { constructor () { library.add(fab, far, fas); } }
Tuesday, 6 August 2019
Angular - Displaying localized currency - setting up locale to Norwegian (example)
This article will quickly describe how we can set up a locale for Angular; to display for example currency in a correct manner.
First off we import the necessary locale setup in our main module, e.g. app.module.ts :
import { NgModule, LOCALE_ID } from '@angular/core'; import { registerLocaleData } from '@angular/common'; import localeNor from '@angular/common/locales/nb'; import localeNorExtra from '@angular/common/locales/nb';Note here that this setup targets Norwegian locale. You can see a list of these locales in the parent folder of this url: https://github.com/angular/angular/blob/master/packages/common/locales/nb.ts We also import the 'extra' information for locales - the Norwegian locale here. The parent folder show the available locales in this url: https://github.com/angular/angular/blob/master/packages/common/locales/extra/nb.ts Then we set up the Norwegian locale using the method registerLocaleData below the imports of our app module with a call to the method. registerLocaleData(localeNor, 'no', localeNorExtra); We also set up the providers for the app module to use the 'no' variable for LOCALE_ID A complete sample of the app module looks like this then:
import { BrowserModule } from '@angular/platform-browser'; import { NgModule, LOCALE_ID } from '@angular/core'; import { registerLocaleData } from '@angular/common'; import localeNor from '@angular/common/locales/nb'; import localeNorExtra from '@angular/common/locales/nb'; import { FormsModule } from '@angular/forms'; import { RouterModule } from '@angular/router'; import { AppComponent } from './app.component'; import { ProductListComponent } from "src/app/products/product-list.component"; import { WelcomeComponent } from "src/app/home/welcome.component"; registerLocaleData(localeNor, 'no', localeNorExtra); @NgModule({ declarations: [ AppComponent, ProductListComponent, ], providers: [ {provide: LOCALE_ID, useValue: 'no' ], imports: [ BrowserModule, FormsModule, RouterModule.forRoot([ { path: '', component: AppComponent } ]) ], bootstrap: [AppComponent] }) export class AppModule { }An example of using the locale setup is to be observed in the use of the pipe called currency. Sample markup:
<td>{{ product.productCode | lowercase }}</td> <td>{{ product.releaseDate }}</td> <td>{{ product.price | currency:'NOK':'symbol':'1.2-2' }}</td> <td>Note the syntax here: Inside the interpolation expression in Angular with {{ My_Expression }} as the notation we pipe with the '|' sign to the currency pipe then we add a ':' sign and the 'NOK' denotes the Norwegian currency. If we want 'øre' (Norwegian cents) afterwards, we can add that outside the interpolation expression. Note that we also add another ':' sign and then 'symbol':'1.2-2' This states that we show at least one digit for the integer part and between 2 and 2 decimals (i.e. just 2 decimals please). This shows how we can set up the standard locale of an Angular app. Supporting multiple aplications should then be a matter of importing additional locales for Angular and have some way of switching between locales. Probably it is best to be sure to usually addition both the locale and the 'locale extra' when setting this up.
Subscribe to:
Posts (Atom)