Adding your own tracker data
If you have your own custom tracking data, for example for one of your own tags, you can register them on the Facade. Please bear in mind tracking only happens while the response is generated, so where possible use augmentation hooks.
Using a closure:
use Thoughtco \ StatamicCacheTracker \ Facades \ Tracker ;
// ...
Tracker :: addAdditionalTracker ( function ( $ tracker , $ next ) {
// run your logic, for example in an augmentation hook
// then call:
$ tracker -> addContentTag ( ' your-tag-here ' ) ;
return $ next ( $ tracker ) ;
} ) ;
{ copied = false; }, 3000); $copy($el.parentNode.querySelector('pre').innerText)"
x-text="copied ? 'Copied' : 'Copy'"
>Copy
use Thoughtco \ StatamicCacheTracker \ Facades \ Tracker ;
// ...
Tracker :: addAdditionalTracker ( function ( $ tracker , $ next ) {
// run your logic, for example in an augmentation hook
// then call:
$ tracker -> addContentTag ( ' your-tag-here ' ) ;
return $ next ( $ tracker ) ;
} ) ;
{ copied = false; }, 3000); $copy($el.parentNode.querySelector('pre').innerText)"
x-text="copied ? 'Copied' : 'Copy'"
>Copy
Using an invokable class:
use Thoughtco \ StatamicCacheTracker \ Facades \ Tracker ;
// ...
class AdditionalTrackerClass {
public function __invoke ( $ tracker , $ next ) {
$ tracker -> addContentTag ( ' additional::tag ' ) ;
}
}
Tracker :: addAdditionalTracker ( AdditionalTrackerClass :: class ) ;
{ copied = false; }, 3000); $copy($el.parentNode.querySelector('pre').innerText)"
x-text="copied ? 'Copied' : 'Copy'"
>Copy
use Thoughtco \ StatamicCacheTracker \ Facades \ Tracker ;
// ...
class AdditionalTrackerClass {
public function __invoke ( $ tracker , $ next ) {
$ tracker -> addContentTag ( ' additional::tag ' ) ;
}
}
Tracker :: addAdditionalTracker ( AdditionalTrackerClass :: class ) ;
{ copied = false; }, 3000); $copy($el.parentNode.querySelector('pre').innerText)"
x-text="copied ? 'Copied' : 'Copy'"
>Copy
Dispatching an event:
use Thoughtco \ StatamicCacheTracker \ Events \ TrackContentTags ;
// ...
TrackContentTags :: dispatch ( [ ' additional::tag ' ] ) ;
{ copied = false; }, 3000); $copy($el.parentNode.querySelector('pre').innerText)"
x-text="copied ? 'Copied' : 'Copy'"
>Copy
use Thoughtco \ StatamicCacheTracker \ Events \ TrackContentTags ;
// ...
TrackContentTags :: dispatch ( [ ' additional::tag ' ] ) ;
{ copied = false; }, 3000); $copy($el.parentNode.querySelector('pre').innerText)"
x-text="copied ? 'Copied' : 'Copy'"
>Copy
Invalidating tracked data
To invalidate pages containing your tracked data, use a listener or observer, and call:
use Thoughtco \ StatamicCacheTracker \ Facades \ Tracker ;
// ...
$ tags = [ ' one ' , ' two ' , ' three ' ] ;
Tracker :: invalidate ( $ tags ) ;
{ copied = false; }, 3000); $copy($el.parentNode.querySelector('pre').innerText)"
x-text="copied ? 'Copied' : 'Copy'"
>Copy
use Thoughtco \ StatamicCacheTracker \ Facades \ Tracker ;
// ...
$ tags = [ ' one ' , ' two ' , ' three ' ] ;
Tracker :: invalidate ( $ tags ) ;
{ copied = false; }, 3000); $copy($el.parentNode.querySelector('pre').innerText)"
x-text="copied ? 'Copied' : 'Copy'"
>Copy
Flushing all tracked data
Flushing all tracked data To invalidate all pages containing your tracked data call:
use Thoughtco \ StatamicCacheTracker \ Facades \ Tracker ;
// ...
Tracker :: flush ( ) ;
{ copied = false; }, 3000); $copy($el.parentNode.querySelector('pre').innerText)"
x-text="copied ? 'Copied' : 'Copy'"
>Copy
use Thoughtco \ StatamicCacheTracker \ Facades \ Tracker ;
// ...
Tracker :: flush ( ) ;
{ copied = false; }, 3000); $copy($el.parentNode.querySelector('pre').innerText)"
x-text="copied ? 'Copied' : 'Copy'"
>Copy