►
From YouTube: XAFers Community Standup XAF Blazor Experiments
Description
Click Here to Subscribe: http://xaf.life/35
Websites:
https://xafmarin.com/
https://xari.io
https://www.xafers.training/
http://xafersweekly.com/
Facebook Group
http://xaf.life/4g
Free XAF Support Hour
https://calendly.com/xari/free-xaf-support-hour
A
The
subject
for
today
will
be
tricks
for
blazer
like
how
to
implement
little
functionality
that
you
might
need
in
your
blazer
application,
and
here
with
me,
is
dave
from
gamma
challenge.
He's
an
older
express,
mvp
dave.
If
you
want
to
introduce
yourself.
B
Feel
free
to
go
yeah
dave
from
a
chat.
Sorry,
my
camera's
not
working
today,
but
I'm
pretty
excited
to
see
what
what
josh
has
here
for
for
the
blazer
stuff.
It's
it's
pretty
exciting.
We've
done
a
lot
of
blazer
work
recently
ourselves,
including
some
implementation
of
you
know,
schedule
and
that
type
of
thing
which
isn't
released
from
devexpress
officially
yet
so
it's
gonna
be
nice
to
see
what
everybody
else
is
doing
in
the
community
with
blazey.
A
Yeah
thanks
for
the
update,
so
if
also
anyone
wants
to
share
anything
that
I
have
done
in
laser
you're
free
to
like
write
in
the
chat
and
it
will
allow
you
to
share
a
screen.
A
B
A
The
good
thing
about
soft
place
or
laser
in
general,
is
that
whatever
solution
you
have
seen
before
using
javascript,
you
know
using
node,
yes
or
react.
Basically,
you
can
implement
that
in
laser
and
there
is
a
huge
amount
of
solutions
that
you
can
implement.
So
your
your
subplace
application
can
be
really
really
preaching
functionality.
A
A
A
A
So,
let's
see
how
this
goes,
live
coding
always
tricky.
I
practice
all
of
this
this
morning,
but
you
know
how
it
is
right
and
I
get
this
reception,
but
this
is
section
I
guess
everyone
is
getting
like.
I
guess
it's
related
to
to
chrome.
Somehow
I
moved
to
different
browsers
like
opera
and
vivaldi,
and
they
don't
do
it
at
the
beginning,
but
after
a
while
this
start
happening.
So
I
guess
something
related
to
the
cookies
or
something
like
that
because
it
doesn't
happen
like
the
first
time.
A
A
It's
happening
for
me
in
chrome
and
yeah,
and
I
think
it's
something
that
is
problems
related
to
chrome,
actually
not
to
to
the
frame
or
itself,
because.
B
Lately,
random
page
even
applications
that
leverage
the
chromium
engine
seem
to
be
having
the
same
issue.
I
think
it's
a
chromium
ending.
A
Because
it's
shared
between
vivaldi
and
h
and
all
of
them
have
the
same
problem
at
the
moment.
So
I
guess
the
trick
will
be
disable.
Try
to
find
an
old
version,
disable
automatic
objects
and
just
say
that
just
pay
like
with
an
old
version,
because
I
mean
chrome
by
default.
It
updates
automatically.
A
A
When
I
picked
this
name,
I
never
realized
that
the
name
was
really
long
to
tell
it
as
an
image
so
well.
This
is
what
we
have
so
far.
This
is
a
really
simple
application.
Just
one
domain
object
and
two
columns
that
are
main
objects,
so
they
all
will
be
try
to
add
a
functionality
that,
when
I
click
on
over
this
record,
but
exactly
in
this
column,
I
want
to
handle
the
link.
A
So
you
know
that
for
for
emails
or
for
any
type
of
links,
there
is
a
tag
in
html
and
then
it
will
open
the
right
application
on
your
computer.
So
that's
what
we're
going
to
do
right
now
so
doing
that
is
kind
of
really
simple.
So,
let's
stop
here
and
just
in
case
I
have
something
that
I
used
this
morning
and
it
will
be
so
it
will
be
easier
just
in
case
you
know
how
it
is
like.
So
the
idea
is,
we
need
to
create
a
render
with
the
html
necessary
to
render
that
column.
A
B
A
So
if
you
are
not
like
it
doesn't
bear
you
that
much
to
having
those
arrows
temporarily
for
a
minute
or
so
then
it's
not
a
problem,
but
sometimes,
if
you're
just
learning
how
to
handle
this,
you
might
spend
long
time
time
to
feel
it
out
there
or
without
seeing
the
solution,
and
you
spend
one
hour
there.
So
it
happened
to
me
the
first
time.
That's
how
I'm
telling
you
so
if
there
is
to
place
it
in
the
in
the
location
where
you're
going
to
leave
it
in
the
end,
that's
good
advice.
A
So
here
what
we
need
to
do
is
basically
create.
Well,
we
have
the
component
right
and
if
you
see
this
component
is
super
simple,
we
only
have
we
only
need
to
return
an
html
tag
in
general
so
and
the
thing
is
that
we
need
to
invoke
the
render
of
this
component
from
code.
So
we
have
this
static
method
that
will
return
the
right,
html
tag
that
we
need
to
render.
A
A
A
Okay,
so
we
do
have
here
a
razor
component.
That's
going
to
render
just
an
html
tag
that
html
tag
will
be
the
column
in
the
grid
control.
Basically,
so
there
are
a
few
tricks
that
we
need
to
do
here
so,
first,
okay,
we
will
make
a
link
tag,
which
is
an
a
ref,
that's
what
we
have
in
here
and
then
we
need
to
avoid
this
event
to
propagate
over
the
other
components,
because
if
we
don't
do
that,
basically,
when
you
click,
you
will
end
up
opening
the
detail
view.
A
So,
instead
of
doing
that,
we
have
some
special
javascript
instructions
like
see,
stop
immediate
preparation,
so
other
components
that
are
listening
to
this
event
will
not
be
clear
because
of
that
instruction.
Basically-
and
the
other
thing
that
we
need
to
know
here,
is
that
this
render
will
receive
the
current
object,
so
that
would
mean
the
current
row
of
that
in
the
grid.
So
we
know
that
in
each
row
we
will
have
a
person,
because
that's
the
person
that
we
just
created
the
person
object.
A
So
basically,
what
I'm
going
to
do
here
is
like
to
remove
this
part,
and
I
need
to
import
this
namespace,
because,
even
though
it's
showing
here
that
it
green
like
it's
working,
it's
not
because
it's
missing
the
name
space
on
top.
So
is
this
one
okay,
so
I
have
the
component
that
will
create
the
render.
A
A
A
Remember
that
soft
application
there
are
based
on
like
a
cascade
in
the
error
like
a
waterfall.
So
if
you
do
it
in
here,
you
will
not
see
the
reference
to
the
component
that
we
just
created
so
anyway.
Let's
add
a
new
view
controller
here.
A
Lately,
I'm
not
creating
view
controllers
with
the
template,
I'm
just
doing
it
with
the
control
shortcut.
So
in
this
case
I'm
going
to
create
a
class
because
I'm
going
to
paste
the
code
in
general.
So
I
don't,
as
I
told
you,
I
don't
use
the
item
template
anymore.
I
just
do
something
like
a
sub
controller
view
and
that
will
create
a
big
controller
class
for
me.
So
I'm
using
that
lately.
So,
but
here
let's
paste
the
code.
A
A
A
A
So
the
render
that
we
will
create
is
this
component
and
we
have
this
method38.
A
A
Put
this
here
and
we
know
that
there
is
a
static
method
create
and
that
we
will
pass
a
person
object
which
he
already
has
the
email
property.
So
so
far
so
good.
This
is
like
kind
of
really
simple.
It
took
me
a
while
to
figure
it
out,
and
I
need
to
ask
the
express
for
support
because,
like
in
general,
there
are
like
hundreds
of
ways
to
handle
laser
components,
and
you
can
do
basically
all
type
of
magics
in
normal
magic.
B
A
B
A
Okay,
so
let's
delete
the
persistent
base,
this
one
things
yeah.
They
think
that's
speaking
when
you,
when
you,
when
you
have
those
classes
that
they
have,
they
exist
in
a
different
name.
It's
like
personal,
email
and
stuff
like
that.
So
this
one
is
the
right
one
great
so
so
far
so
good,
and
I
will
upload
this
this
source
to
github,
so
everyone
can
take
a
look
to
it
and
here
are
the
the
the
links
that
I
use
to
figure
out
this
this
example.
A
Okay,
so
let's
see
if
it
works,
you
know,
like
light
coding,
is
always
tricky,
even
if
you
practice
that
before
or
if
you
do
this,
like
eight
hours
per
day
every
day,
this
thing
you
can
say
so,
let's
see
someone
else
is
in
the
chat.
A
Okay,
so
see
now
it
shows
same
email.
The
word
sends
email
is
in
the
html
tag.
Actually,
if
you
see
is
highlighted
as
an
email,
it's
not
text.
So
when
I
click
over
here,
it
will
ask
me
like
if
I
want
to
open
the
like
the
right
application
to
handle
the
email
protocol.
This.
This
is
the
most
simple
example,
but
remember
that
you
can
put
any
type
of
html
tags
or
components
that
you
want
to
use.
A
For
example,
in
some
other
cases
we
have
a
delivery
application
that
we
show
the
address
as
link
and
when
they
click
on
the
address
they
use
it
on
mobile
devices,
the
it
pop-up
ways
I
don't
know
if
waste
is
popular
in
any
other
countries,
but
you
know
cyborg,
that's
what
we
use
as
navigator.
A
A
A
So,
let's
move
on
okay:
let's
stop
this
and
let's
create
a
second
example.
This
will
be
a
property
editor
template
lately
thing
most
of
our
development
is
done.
In
blazer
we
decided
okay,
how
to
create.
How
do
we
create
a
property
or
like
really
really
fast,
because
if
you
have
seen
the
recommendations
for
the
property
editor
and
I'm
going
to
show
that
soon,
there
are
like
a
few
steps
and
it
kind
of
takes
time
to
to
do
that
in
general.
So
let's
create
a
new
project
here.
A
In
the
meantime,
I'm
going
to
show
you
guys
the
information
for
the
property
editor.
So
just
let
me
move
the
zoombar
and
this
basically
for
creating
your
own
property
or
you
need
to
create,
like
four
classes,
I
think
plus
the
component
to
do
the
rendering.
A
So
the
first
class
is
the
component
model
which
is
like,
if
you
have
used
summary
before
it's
something
like
what
you
will
use
as
view
models
in
general,
then
you
have
the
render,
and
then
you
have
the
adapter,
which
is
like
the
intermediate
part
and
beside
that.
You
have
the
class
that
wraps
all
of
this
together,
which
is
the
proper
creator.
A
So
when
you
move
it
and
it
will
looks
like
there
is
an
error
that
will
take
a
little
bit
to
to
stop
showing
in
the
studio,
you
can
basically
delete
the
pin
folder
close
the
studio
and
open
it
again
or
reveal
a
few
times,
and
it
will
just
be
gone,
but
it
it
will.
Take
you
a
few
minutes
the
first
time
and
that's
why
I'm
warning
you
because
for
me
it
took
like
one
hour
to
figure
out
that
there
was
no
error
at
all.
A
Let's
see
the
annotations,
can
we
clear
the
annotations
with
all
drawings
yeah
perfect,
so
we
don't
want
annotations
anymore.
We
want
the
mouse
okay.
So
let's
create
this
proper
creator.
So
it's
not
about
this.
A
This
next
example
is
not
about
the
property.
Editor
itself
is
how
you
can
save
time
by
making
a
visual
studio
template
out
of
this,
and
also
it
will
be
nice.
If
I
can
post,
for
example,
a
ticket
on
developer
express
support
center
and
anyone
can
vote
there,
so
they
might
include
this
template
in
in
the
visual
studio
templates
because
it
will
be
easier
to
just
do
rightly
create
properties
or
with
all
the
classes
than
implementing
all
the
code
yourself.
So
let's
go
back
to
the
studio
and.
A
A
Name
great,
so,
let's
run
into
the
list
one
time.
So
we
have
the
database
and
you
see
how
we
how
the
proper
editor
looks
like
and
then
we
will
create
a
new
one
base.
Again
you
need
an
html
component.
A
That's
we've
been
what
we
have
been
researching
in
the
office
lately,
because
most
of
the
examples
out
there,
like
99
of
the
examples,
are
react
and
whatever
you
can
do
with
react,
you
can
do
with
blazer.
So
we
have
almost
all
the
implementations
that
they
have
in
react
for
a
smart
contract.
We
have
them
in
place
for
also
so,
if
you're
interested
on
education,
virtual
machines,
smart
contract
integration
and
blockchain
in
general
just
add
the
notifications
in
the
youtube
channel,
and
you
will
see
when
we
post
something
about
the
blockchain.
A
Okay,
we
have
our
application,
I'm
just
going
to
create
an
object.
This
is
going
to
be
date
in
this
case.
I
use
myself
in
the
other
in
the
other
example,
so
I
need
a
different
name.
Okay,
so
let's
go
to
the
documentation,
and
I
will
show
you
how
I
do
it,
because
I've
done
this
like
so
many
times
that
when
you
start
reading
it
takes
a
while.
A
A
A
Right
so
right
now
we
have
the
laser
component
and,
as
you
can
see,
is
everything
inside
of
the
components.
The
c
sharp
codes
in
the
component
and
the
html
is
the
component.
So
there
are
several
ways
that
you
can
use
razor
components.
You
can
use
these
syntaxes
that
is
special
between
html,
which
in
general,
like.
I
don't
like
that
much
because
the
intellisense
doesn't
work
that
well
in
here
and
also
code.
Cultural
sometimes
goes
crazy
figure
out
different
name
spaces,
so
something
that
needs
to
be
improved.
A
I
guess,
but
in
general
like
what
I
like
to
do,
you
can
use
inhibit
from
a
special
class
or
the
easiest
trick.
Is
you
copy
the
name
of
the
of
these
render
files?
A
So
one
part
is
the
phrasal
component
and
another
part
is
this
class.
So
if
you
need
to
write
like
complex
c
sharp
code,
you
better
do
it
on
this
side,
and
it
will
be
the
same
as
if
you
write
it
in
here,
but
the
intellisense
that
will
complete
the
code
rush
will
just
work.
So
that's
one
of
the
tricks
that
I
use
like
all
the
time
and
so
far
so
good.
A
Let's
see
we
have
two
two
files
already
so
now,
let's
go
and
copy
the
adapter,
so
I
will
copy
this
code
from
here
and
the
trick
here,
if
you
want
to
make
this
a
template,
is
that
you
have
to
put
them
in
the
same
file.
That's
why
I
created
this
extra
file,
so
there's
no
official
code
that
we
want.
I
want
to
put
there
because
the
example
is
really
simple,
so
I
will
just
put
this
part
here,
so
I
didn't
copy.
A
Paste,
let's
move
the
namespaces
to
here,
so
they
are
here
some
of
these,
and
this
is
duplicated,
so
just
remove
it.
Okay,
so
far
so
good
we
have
in
this
class,
we
have
already
two
classes,
I
mean
in
this
class
file.
We
have
two
classes,
we
have
the
input
adapter
and
the
render
input
vendor.
A
And
let's
paste
this
here:
let's
remove
these
and
just
move
the
name
spaces
up.
We
don't
need
the
system.
Namespace
is
already
there.
So
let's
delete
that-
and
oh
this
also,
this
already
exists
so
so
far
so
good.
Now
we
have
three
classes
in
the
same
file
and
we're
missing
just
one.
Let's
see,
I
will
mute
everyone.
A
Okay,
so
let's
go
back
here:
let's
go
up
for
the
first
one
and
let's
copy
this,
this
is
basically
the
class
that
will
go
from
the
sub
domain
object
to
the
proper
theater.
That's
the
that
is
like
what
you
will
use
as
view
model
in
summary
in
general.
A
A
A
When
you
see
this
in
the
solution
explorer,
you
can
see
that
if
you
expand
this
object,
you
will
see
that
there
are
four
classes
here.
So
it's
good
because
you
can
go
and
jump
directly.
So
if
you
want
the
input
after
it
will
just
put
the
character,
so
we
have
not
finished.
I
will
use
this
property
editor.
So
let's
check
the
property
editor
code
here.
A
So
it's
a
really
simple
propagator
is
for
the
type
string
and
then
it's
going
to
use
the
input
adapter
to
pass
the
model,
which
is
the
class
that
holds
the
value
and
passes
to
the
render,
because
if
you
see
the
render
is
the
same
as
we
did
in
the
column
render
for
the
for
the
previous
example,
you
have
a
static
method
where
you
return
the
instance
of
the
control,
and
this
has
to
be
a
static
method.
There
is
no
other
way
to
do
it.
A
So
so
you
have
to
follow
this
pattern
anyway,
so
so
far
so
good.
Let's,
we
know
that
this
property
editor,
if
we
go
here,
is
not
the
default
properties
or
for
the
string
class.
So
the
propagator
is
is
good
and
it's
working,
but
it
will
no
show
anyway
because
we
have
not
set
it
to
to
run
so.
For
that.
I
took
a
note
this
morning
because
I
always
forget
the
syntax.
A
A
Let's
put
it
here
so
now:
here's
it
will
look
like
almost
the
same
textbook,
so
you
you
will
not
notice
the
difference.
So
what
I
will
do
is
just
put
something
else
here,
so
you
notice
that
it's
a
different
implementation
than
the
default
one.
So,
let's
add
basically
at
this.
A
So,
let's
click
here
and
we
will
see
our
property
so
see.
This
is
a
different
textbook.
It's
an
html
textbox
and
there
is
the
div
that
I
added
below.
So
now
we
have
our
full
property
editor
implemented.
Now,
let's
make
it
a
visual
studio
item
template
just
like
super
easy.
That's
been
changing
like
every
time.
Every
version
of
visual
studio
there's
a
different
way
to
do
it
also
the
menu
where
you
do
it.
It
changed.
A
A
A
So
next,
and
now
it's
asking
me
which,
which
item
I
want
from
that
solution-
that's
why
I
put
all
the
files
all
the
classes
on
the
same
file,
because
otherwise
you
cannot
do
a
template
with
four
classes.
You
need
to
do
four
templates.
So
that's
why
I
did
that,
like
put
all
the
things
in
the
same
place,
so
we
can
use
this
trick
so
now.
The
only
things
I
need
to
do
is
like
input
render
select
that
because
it
shows
us
one
item,
even
though
there
are
four
classes
in
there
plus
the
render.
A
So
which
reference
I
would
like
to
include
in
this
case,
I
will
not
include
any
reference.
I
don't
need
to
add
any
dll,
but
maybe
my
component,
my
component
comes
from
a
devexpress
dll,
but
this
is
basically,
if
you
want
to
include
something
like
with
your
template.
For
example,
I
don't
know
if
you,
if
you
remember
like
way
like
long
time
ago,
when
you
added
an
xbo
object,
it
added
the
reference
to
xpo.
So
that's
the
same
trick.
A
The
name
of
the
template,
a
template
will
be
play
so
like
that,
because
I
have
like
so
many
templates
already
that
I
have
done
to
test
and
everything
so
and
I
don't.
I
will
upload
an
item
right
now
and
also
not
preview.
This
is
the
location
where
it's
going
to
be.
You
can
go
and
check.
There
is
a
folder
that
is
the
all
the
files
needed
for
that,
and
then
it
will
import
automatically
in
visual
studio
in
general.
A
The
import
sometimes
doesn't
happen.
Let's
close
your
finger
and
hope
that
it
happens
and
if
not,
we
need
to
close
all
the
studios
and
just
restart
open
a
new
instance.
After
all
of
them
are
closed
and
then
it
will
show.
A
Okay,
so
here
we
have
the
template.
If
you
want
to
disable
that
template,
you
can
just
put
it
in
this
folder
in
someone
else's
computer
and
it
will
just
work
after
they
close
the
studio
and
they
open
it.
Again.
A
We
have
a
question
from
a
friend
of
the
channel
and
a
friend
of
the
meetups
jp,
so
jp
the
component
that
you
did
that
I
show
in
html
it
will
take
the
devexpress
theme
as
long
as
you
use
the
same
css
classes.
A
So
if,
in
the
bootstrap
framework,
the
class
that
you
use
is
alert
or
danger,
or
something
like
that
or
whatever
name
class
that
you
use
for
the
for
the
style,
it
will
use
the
one
that
is
currently
set
for
the
express.
So
if
you
have
an
orange
theme,
your
component
will
look
orange.
If
that's
the
class
that
you
use
and
if
you
switch
team,
it
will
take
that
new
theme
that
you
switch
to.
A
So,
basically,
that's
how
you
do
it
and
it's
really
nice,
because
otherwise
you
have
to
add
more
style,
styling
properties
to
your
component,
but
it
will
catch
the
one
that
you
use
from
the
current
theme
in
the
application.
As
long
as
you
use
the
bootstrap
classes
that
devexpress
uses
so
well
so
far
so
good.
I
think
I
will
need
to
close
the
studio
to
make
this
show.
So
let
me
close
all
the
instances.
A
Okay,
so
let's
see
how
the
demo
effect
will
affect
me
this
in
this
time,
or
maybe
will
not-
maybe
I'm
lucky
so,
okay.
So
now
that
we
have
basically
export
the
code
that
we
wanted.
As
a
item
template,
I
should
be
able
to
delete
this,
and
I
guess
I
will
not
for
the
moment.
I
will
just
add
another
one
and
it
will
have
the
same
name.
A
So
that's
something
that
there
are
some
properties
that
you
need
to
replace
that
there
are
in
the
in
microsoft
documentation.
I
will
try
to
find
the
link
in
the
meantime
to
put
it
here,
but
let's
add
the
first
first,
this
idea
component
and
I
mean
the
properties
and
hope
that
this
works
so.
A
A
A
And
see
we
have
all
the
code
that
we
created
before
there
are
some
ways
that
you
can
make
that
replacement
to
work
in
the
code,
because
right
now,
for
example,
here
is
still
called
input
render.
So,
if
you
add
some,
I
think
it's
like
dollar
assigned
to
it.
It
will
be
replaced
with
the
new
name
that
you
set
in
the
when
you
add
the
the
the
new
item.
In
this
case,
it's
not
being
renamed.
So
I
just
need
to
rename
this
to
my
property
editor.
A
A
B
A
Let's
see
if
I
can
find
it
before,
the
application
will
happen.
Let's
see,
my
prop
is
not
being
like
that
the
render
is
named
like
that.
The
name
is
still
the
same,
because
now
that
I
think
about
it,
if
I
go
here,
the
name
that
I
need
to
set
is
this
one.
So
that
stayed
the
same,
so
I
replace
it
for
nothing.
We
just
need
to
run
it
again
and,
let's
see
maybe
I
can
find
the
information
before
this
starts
again.
A
So
c
is
working
basically,
the
same
component
that
I
created
before
is
showing
so
to
complete
this.
Basically,
you
will
need
to
add
some
tags
to
your
code,
but
the
tags
will
break
your
code
in
the
end.
So
you
need
to
make
sure
that
your
code
is
running
submitted
to
the
source
controller
like
dual
commit
and
then,
for
example,
see
this
if
you
want
to
replace
name
spaces
with
the
name
of
the
current
word
that
you
are
because
in
this
case
the
namespaces,
for
example,.
A
Let's
go
to
the
property
editor
here
is
within
this
project
name
and
then
this
namespace
that
can
be
replaced
automatically
for
you
with
the
namespace
of
your
current
solution
at
the
moment
or
the
opportunity
at
the
moment.
But
for
that
you
will
need
to
add
some
placeholders.
Basically,
so
let
me
show
you
the
documentation.
A
So
if
you
want
to
replace
the
namespace,
for
example,
you
just
add
these
and
you
will
use
your
current
project
namespace
as
the
namespace
of
that
file
and
the
same
for
like
file
names
class
names,
you
can
use
the
same
three.
There
are
placeholders
for
that,
so
you
just
pick
the
ones
that
you
want
and
then
all
of
that
can
be
renamed
automatically
for
you.
For
example,
if
you
don't
want
to
name
it
input
model,
but
you
just
want
the
the
the
model
suffix.
A
Let's
see
that's
here
so,
instead
of
so,
if
you
want
this
to
take
the
name
that
you
said
when
you
add
the
item
from
the
add
new,
add
new
item
window,
you
will
have
to
do
something
like
this
and
this
will
be
replaced
for
the
file
name.
But
when
you
do
this,
your
code
breaks,
so
you
need
to
make
sure
it
works.
Then
you
replace
with
the
placeholders
and
then
you
export.
A
So
that's
good
to
have
this
on
the
source
controller,
because
you
make
sure
that
it's
running
and
then
you
have
to
replace
for
for
these
placeholders,
and
there
is
no
other
way
to
do
that.
So
you
will
just
have
to
suffer
through
it
and
that's
it
for
this
demo.
So
I
will
just
put
that
information
in
the
chat.
A
A
Sometimes
it
will
just
fail
when
you
code
in
front
of
other
people,
so
the
demo
that
I'm
going
to
do
is
a
little
bit
more
complex
when
I
was
starting
to
to
like
when
I
met
javier
a
long
time
ago,
the
first
time,
the
first
or
second
time
that
we
talked,
we
were
discussing
how
to
create
reusable
modules
for
stuff,
and
I
asked
developer
express
many
times
before,
like
when
stuff
was
just
starting,
maybe
the
first
year
how
you
create
the
reusable
modules
as
they
do
it.
A
They
told
me
like,
go
and
check
the
reports
mode.
That's
the
best
implementation
that
we
have.
That
shows
how
to
do
it
and
a
few
days
ago
I
was
doing
the
same,
because
there
is
the
framework
that
I'm
handling
the
ultra
modules.
We
use
it
mostly
internal
and
in
personal
projects,
but
I
want
to
to
take
that
to
rotate
that
project
again.
So
basically,
I
asked
them
okay,
how
do
we
how
we
should
do,
how
we
should
make
a
reusable
module
for
blazer,
which
is
a
different
trick?
A
A
Here
you
add
a
css
file
or
javascript,
for
example,
and
then
you
will
have
to
add
as
an
html
tag
in
in
in
your
host
file,
and
that's
it
I
mean,
then
you
can
invoke
it
from
javascript
within
your
component
using
the
javascript
interrupt,
but
this
is
tricky
because
if
you
want
to
make
a
reusable
sub
blazer
module,
okay,
you.
If
what
will
happen,
if
you
put
the
css
file
here
and
the
reusable
module
is
actually
here,
it
means
that
you
will
need
to
add
documentation
to
tell
it
so.
A
Okay
download
this
file,
put
it
in
ww
folder,
then
add
the
reference
to
the
to
the
in
the
hose
file
and
that's
a
lot
of
work.
I've
been
doing
that
for
a
while,
but
then
I
decided
okay
like
they
expressed.
They
don't
do
it
like
that
they
they
use
a
different
way
so
again
like
when
you
ask
you
get
really
amazing
answers
from
them,
so
I
asked
them,
and
there
is
a
ticket
here.
A
This
is
for
the
this
one
and
anatole
was
kind
enough
to
just
tell
me,
like
okay
go
and
check
these
modules.
We
do
the
three
that
you
want
to
do
there,
and
I
think
this
is
public.
Yes,
I
think
it
is
because
I'm
not
signing
in
this
browser,
so
anyone
can
see
it.
If
you
want
to
see
it
there,
what
we
were
talking
about,
that's
the
support
ticket.
A
A
And
I
will
just
add
some
javascript
to
it,
so
it
will
make
sense,
because
the
main
problem
is
when
you
want
to
add
some
other
files
like
javascript
and
css
file
and
ship
them,
with
your
with
your
sas
blazer
module.
So
the
trick
here
is
the
following:
let's
open,
which
one
I
was
using
this
morning,
maybe
it's
in
the
other
studio
yeah
it's
this
one.
I
started
to
do
like
a
drawing
canvas
and
then
the
javascript
start
failing.
A
So
I
decided
to
do
something
more
simple,
so
we
would
do
something
really
simple
in
this
case,
but
that's
the
trick
that
I
use
to
include
the
moon
equator,
that
is
the
user
from
visual
studio
and
make
it
a
reusable
module.
For
example,
in
the
last
stand
up,
I
show
the
form
editor
that
we
have
the
online
form
editor
and
the
skip
editor
that
we
have
also-
and
that
is
using
monaco,
and
I
use
it
in
like
10
different
personal
applications.
A
I
have
that
I
made
for
my
mom
for
my
brother
for
friends,
sometimes
or
experiments,
and
I
was
like
tired
of
okay
like
every
time.
I
need
to
make
a
new
application
to
add
the
reference
to
the
host
file
to
copy
the
javascript,
that
I
need
the
css
file
that
I
need.
That's
why
I
ask
developer
express
how
do
I
do?
How
do
I
make
a
reusable
soft
blazer
applications?
So
they
showed
me
the
trick
and
I
will
share
it
with
you
of
course,
so,
okay,
so
we
have
here
our.
A
A
Okay,
so
here
I
have
the
css
and
everything
this
I
don't
need.
Of
course
you
can
use
the
same
structure
if
you
want,
but
I
don't
need
this
file,
so
I
will
just
delete
them
to
make
the
example
more
simple,.
A
It's
so
simple
that
it's
just
this,
we
will
just
create
a
javascript
that
says
hello,
and
this
will
say
like
hello
from
component
and
of
course
you
can
go
really
crazy
there,
especially
if
you're,
integrating
the
extreme
components.
Maybe
the
scheduler,
for
example,
as
they've
said,
is
not
yet
there.
A
A
So
you
can
initialize
that
component
just
have
to
do
something
to
render
something
different,
for
example,
a
drawing
canvas,
a
control.
You
know
you
name
it
that's
how
javascript
components
work
in
general,
you
set
a
tag
with
an
id,
and
then
you
run
a
javascript
over
that
tag
and
id.
So
in
this
case
we're
going
to
make
something
really
simple,
just
say:
hello,
okay,
so
now
I
have
my
javascript,
then
I
need
to
add
a
few.
I
need
to
add
an
extension
and
then
I
need
to
add
some
tag
helpers.
A
A
A
So
I
have
one
file
that
is
called
the
tag
helper.
This
is
the
most
important
one.
Actually,
basically,
what
you
do
with
this
type
helper
is
something
super
useful
is
that
you
can
add
them
a
service
and
your
startups
and
whatever
you
do
whatever
it
is
in
here,
it
will
modify
the
html
of
your
host
file.
So
basically,
the
idea
here
is
that
we
will
add
this
line
instead
of
modifying
or
host
file.
Every
time
we
will
create
an
extension
that
modified
it
for
us
and
then
we
will
add
it
to
the
services.
A
A
And
let's
import
the
namespaces.
A
So
this
is
basically
somehow
like
middleware.
This
will
execute
before
the
page
finish
loading,
and
it
will
add
these
tags
that
we
just
created
here.
So
in
these
tasks,
usually
you
add
reference
to
justified
or
css
files,
so
you
don't
have
to
ask
the
person
okay,
go
and
paste
this
in
your
in
your
host
file,
so
also
the
the
trick
here.
There
are
a
few
tricks
that
we
need
to
notice
here
when
we
use
quotes
instead
of
using
simple
calls,
we
have
to
use
double
quotes
to
escape
it.
A
That's
why
you
have
double
quotes
here
at
the
beginning
and
all
calls
here.
In
the
end,
the
name
of
the
file
we
get
this
name
of
the
file
from
there.
A
Let's
see,
maybe
I
can
find
one
see
when
is
when
the
reference
comes
from
a
reference
assembly,
you
use
underscore
content
and
then
the
namespace
or
the
name
of
your
assembly
and
then
the
name
of
the
file
in
the
opposite
case.
This
is
a
reference
to
a
physical
file,
so
just
telling
this
like
it
started
in
www
roots
and
after
that
is
the
css
folder
and
then
type
css.
So
that's
actually
here
so
how
you
set
the
route
for
embedded
resources
and
for
physical
resources
are
a
little
bit
different
like
and
better
resources.
A
A
A
So
what
this
means
is
that
this
tag
is
going
to
be
added
to
the
header
and
the
location
will
be
the
embed
resource
within
this
route
and
this
route
ends
up
in
this
www
folder
I
mean
content
and
the
name
of
your
assembly
means
that,
where
everything
the
root
here
will
be
used,
so
that's
why
we
specify
this
name
no
folder,
but
if
I
want
I
can
create
a
folder
here.
A
But
here
we
have
to
add
that
to
the
path,
so
this
would
be
yes,
also,
okay,
so
far
so
good.
This
will
include
the
javascript
in
general,
so.
A
And,
as
you
can
see,
this
is
basically
it's
any.
It's
like
doesn't
have
anything
special.
It's
an
extension
class
extension
class
is
how
you
add
methods
to
a
compile
classes
directly
already
compiled.
Basically,
this
has
nothing
to
do
with
with
saf
or
with
blazer
itself.
It's
something
that
came
in
csr3
with
feature
3.5
with
the
inclusion
of
link,
basically
because
we
need
to
add
more
extensions
to
the
enu
metabolism,
for
example,
add
more
methods.
A
A
A
And
basically
asp.net
code
is
collecting
all
those
stack
helpers
and
just
execute
them
before
the
applications
run.
So
now
that
what
we
need
to
do
is
go
to
the
startup
class.
A
And
here
in
the
startup
class,
we
need
to
add
the
execute
that
method.
So
I
want
you
to
notice
something
when
you
do
a
extension
for
the
I
service
collection.
Now
you
usually
put
it
on
this
namespace,
because
this
name
namespace
is
always
in
the
startup
file.
So
you
will
have
the
extensions
available.
A
If
not,
you
will
need
to
import
the
namespace
of
this
class,
so
this
method
shows.
So
the
common
pattern
is
that
you
put
it
in
a
different
instance.
This
is
not
the
name
space
of
my
application.
You
put
in
a
different
one
and
what
that
is
already
there.
So
people
don't
have
to
figure
it
out
that
there
is
extension
that
they
need
to
load
and
they
need
to
add
our
name
space
in
the
top
and
let's
go
and
execute
this.
A
A
A
A
A
A
Sorry
guys
for
that
I
was
receiving
a
phone
call
and
my
phone
was
far
away.
So,
okay,
let's
go
back
to
this,
so
this
is
the
function
that
we
want
to
invoke
and
we're
still
missing
some
small
stuff
here.
So
let
me
close
this
and
okay.
So
far,
so
good
right,
let's
go
to
the
properties
here,
we're
missing
just
one
thing:
we
need
the
javascript
interrupt.
We
need
to
inject
the
javascript
interop,
so
we
can
call
a
javascript
function
from
from
our
component.
A
So
sometimes
you
have
to
format
by
hand.
Okay!
So
far,
so
good,
let's
see
here,
this
should
be
okay,
it's
working,
so
we
have
the
reference
to
the
javascript
interrupt.
So
basically,
when
this
property
renders
the
component,
it
will
also
call
this
javascript
function
that
you
can
use.
For
example,
that's
how
you
use
it
in
google
maps
or
maps.
They
asked
to
add
this
to
other
tags
with
an
id
and
then
run
a
javascript
that
initialize
the
the
rendering
of
the
map.
A
A
So
if
everything
is
correct,
it
means
that
when
I
open
the
detail
view,
it
will
render
my
property
editor
and
the
propagator
will
execute
this
javascript
code.
And
the
beauty
of
this
is
that
in
our
application
we
don't
have
any.
We
didn't
add
any
extra
files
and
we
didn't
have
to
modify
also
the
host
page.
A
A
A
A
Okay,
so
let
me
copy
this.
A
Oh,
no,
that's
not
the
documentation,
so,
okay,
the
idea
of
this
of
this
class
is
basically
I
want
to
inject
some
notes
in
the
models.
Sorry.
A
So
part
of
that
is
basically
inject
the
those
messages
inside
of
the
messages
that
you
want
to
include,
maybe
in
your
property
editor
or
in
your
custom
components,
you
need
to
include
them
in
the
model,
so
they
will
be
localized
when
you
localize
all
the
other
parts
of
your
application.
A
A
A
Demo,
where
so,
I
need
to
modify
here,
I
think
that's
it.
Basically,
I
just
need
to
use
that
in
the
in
the
module,
so
I'm
doing
a
lot
of
copy
and
paste
today,
let's
see
where
do
we
add
that.
A
Oh,
I
have
this
class,
I
want
to
just
rename
it.
I
hate
to
see
those
class
one
okay.
So
far,
so
good,
let's
go
to
the
module
class,
and
here
we
just
need
to
add
another
override
and
we
need
to
tell
it.
Okay,
like
include
also
this
node
generator
updater.
A
A
So
here
in
the
localization
node
we'll
have
another
nozi
demo
standard
and
the
message
that
we
have
that
we
just
create
is
there
so
this
takes
when
you
create
a
different
version
like
in
spanish,
you
will
be
able
to
localize
those
messages.
So
now
the
next
thing
that
I
need.
A
Sorry
for
that
guys,
I'm
saying
thanks
to
cover
me
dave,
so
let
me
just
share
my
skin
again.
A
Because
we're
about
to
finish-
and
this
is
becoming
really
interesting-
okay,
so
we
have
the
message
so
we
we
are
able
to
localize
our
message.
If
we
achieve
module
in
different
languages
now
we
just
need
to
use
that
message
somewhere.
So
it
makes
sense
right.
A
I
will
put
it
here
and
I
just
need
to
add
the
sound
sign
at
the
beginning,
and
then
this
asks
for
a
few
things.
It
asks
for
the
node
that
we
want
to
read
then
the
name
of
the
subnotes
and
the
default
text.
So
we
will
name
this
default
text.
A
A
A
So
let's
go
here,
and
this
will
be
hello
from
component
from
the
modern
node
generator
updater.
This
is
also
really
explicit
class.
So
I
guess
someone
like
me
using
thai
of
developers.
A
Okay,
so
far
so
good.
I
was
seeing
like
an
exception
here.
Sometimes
you
see
this,
but
we
just
need
to
compile
it.
I
guess
before
we
run
it
and
that's
not
an
error
actually
or
should
not
be
an
error.
A
But
it
is,
let's
see
we
need
to
import
a
namespace.
I
guess
yes,
so
let's
go
for
fingers!
Everyone,
please
close
the
your
fingers.
I
want
this
to
to
work
the
first
time
and
again
I
never
felt.
Let's
see
what's
happening,
I
think
if
you
import
the
namespace
in
the
end,
no,
it
didn't.
So
that's
what
I
don't
like
about
razer
components.
Sometimes
this
stuff-
they
just
don't
happen
at
all
see.
A
And
the
front-
and
so
instead
of
this
hello,
this
is
the
name
of
the
node
hello
from
component.
So
this
is
not
what
is
going
to
be
shown.
What
is
going
to
be
shown
is
the
new
text
that
I
just
added,
because
I
just
modify
it
here,
so
even
what
we're
seeing
in
the
model
is
a
little
bit
behind
the
text
that
we
show
is
this,
so,
let's
just
in
case
update
model
in
all
projects.
A
So
let's
go
here,
it
will
tear
the
javascript
and
it
didn't
find
it
found
the
full
text.
So
let's
double
check
this.
So
let's
see
here
what
are
oh,
yes,
see.
The
name
of
I
change
the
name
of
the
node,
not
the
text
of
the
node.
So.
A
A
A
Here
we
have
our
javascript
method
and
the
text
that
we
just
inject
in
the
in
the
model,
so
basically
that
those
are
all
the
steps
that
you
need
to
do
to
create
a
reusable
module
in
general
and
the
last
one
this
one.
Basically,
you
just
need
to
pack
it
up
a
nougat
package
if
you
want-
and
you
can
just
use
that
nugget
package
everywhere
or
anywhere-
and
basically
you
just
do
this
and
let's
see
when
you
execute
the
net
publish,
you
will
create
a
nuget
package
and
these
options
are
a
little
bit
different.
A
A
A
So
you
can
you're
ready
to
distribute
this
package
to
to
someone
else
or
put
it
in
know
it
dot
already
so
see
those
are
all
the
requirements
and
inside.
A
So
when
you
use
this
in
a
different
application
like
in
in
a
new
application,
for
example,
you
will
have
your
property
of
the
javascript
that
your
property
editor
uses
and
the
only
thing
that
you
will
need
to
do.
It
will
become
just
one
line
to
go
to
the
startup
of
that
new
application
and
invoke
the
extension
that
we
create
to
add
the
tags
to
the
host
page.
A
So
that's
basically
it.
I
think
that
they
make
a
great
job
with
the
tag
helpers,
because
you
can
pack
everything
in
just
one
assembly
and
redistribute
it
everywhere.
We
do
that
really
often
in
here
in
the
office
and
if
there
is
any
questions,
you're
free
to
open
your
mic
or
send
it
in
the
chat.
A
So
I'm
not
seeing
the
chat
right
now,
but
let's
see.
A
Well,
like
it
looks
like
it
was
clear,
or
maybe
I'm
just
not
waiting
enough
anyway,
this
standup
will
be
in
due
to
us
all
the
other
stand-ups,
and
if
you
need
help
with
reusable
updates
or
modules,
you
can
send
me
an
email
or
send
an
email
to
javier
or
today,
and
any
of
us
can
give
you
a
hand
with
that,
and
I
will
upload
this
to
github
and
put
it
in
the
facebook
group.
So
anyone
can
see
the
code
that
I
created
today
is
the
live
code.
A
Maybe
the
namings
are
not
right
or
misspelled
or
something,
but
I
think
it's
really
useful
in
the
end,
and
these
are
all
the
tricks
that
I
use
personally
to
save
time
in
in
soft
place
of
development,
especially
regarding
the
property,
editors
and
reusable
modules.
I've
been
moving
all
the
ultra
modules
to
be
laser
only
or
agnostic.
A
So
maybe,
when
I'm
back
to
russia
like
in
two
months,
I
will
have
the
time
to
to
create
that
repo
and
upload
the
new
structure.
But
in
the
meantime
this
is
what
I'm
doing
to
create
all
those
reusable
modules,
and
I
guess
that
that's
it.
For
this
time,
thank
you
guys
all
for
coming.
Thanks,
dave
jp,
you
always
have
great
questions
and
thanks
everyone
for
taking
the
time
during
your
busy
thursday,
actually
to
join
the
community,
stand
up
and
that's
it
and
see
you
all
guys
in
next
time.